Перенос кода с vb на с#

155
01 января 2020, 20:30

Помогите перенести код с vb на C#

Код vb

Private Structure StructExcelNamedRangeAddress
        Public Sheet As Microsoft.Office.Interop.Excel.Worksheet
        Public Column As Integer
        Public Row As Integer
        Public Cell As Object
    End Structure
Private Function ExcelNamedRangeAddress(ByRef book As Microsoft.Office.Interop.Excel.Workbook, Name As String) As StructExcelNamedRangeAddress
    ExcelNamedRangeAddress = New StructExcelNamedRangeAddress
    For Each RangeSearch In book.Names
        If RangeSearch.Name = Name Then
            Try
                ExcelNamedRangeAddress.Sheet = RangeSearch.RefersToRange.cells(0).WorkSheet
                ExcelNamedRangeAddress.Column = RangeSearch.RefersToRange.cells(0).Column
                ExcelNamedRangeAddress.Row = RangeSearch.RefersToRange.cells(0).Row + 1
                ExcelNamedRangeAddress.Cell = ExcelNamedRangeAddress.Sheet.Cells(ExcelNamedRangeAddress.Row, RangeSearch.RefersToRange.cells(0).Column)
                Exit For
            Catch ex As Exception
            End Try
        End If
    Next
End Function

Код c# (что сделал)

 private struct StructExcelNamedRangeAddress
        {
            public Worksheet Sheet;
            public int Column;
            public int Row;
            public Object Cell;
        }
    private StructExcelNamedRangeAddress ExcelNamedRangeAddress(Workbook book, string Name)
    {
        StructExcelNamedRangeAddress ExcelNamedRangeAddress;
        foreach (Workbook RangeSearch in book.Names)
        { 
        if (RangeSearch.Name == Name)
            {
                ExcelNamedRangeAddress.Sheet = RangeSearch.RefersToRange.cells(0).WorkSheet;
                ExcelNamedRangeAddress.Column = RangeSearch.RefersToRange.cells(0).Column;
                ExcelNamedRangeAddress.Row = RangeSearch.RefersToRange.cells(0).Row + 1;
                ExcelNamedRangeAddress.Cell = ExcelNamedRangeAddress.Sheet.Cells(ExcelNamedRangeAddress.Row, RangeSearch.RefersToRange.cells(0).Column);
            }
         }
      }

ошибка которые я не могу устранить "Workbook" не содержит определения для "RefersToRange" Невызываемый член "_Worksheet.Cells" не может использоваться как метод

Ошибка

Ошибка CS1061 "Workbook" не содержит определения для "RefersToRange", и не удалось найти доступный метод расширения "RefersToRange", принимающий тип "Workbook" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку). ConsoleReport \ConsoleReport\Program.cs 168 Активный

READ ALSO
Почему тормозит TreeView?

Почему тормозит TreeView?

При большом количестве веток дерева, у меня начинает тормозить TreeView, а точнее, обычная операция присвоения имени ветки:

184
Invoke метода из стартового Appdomain

Invoke метода из стартового Appdomain

Создал новый Appdomain,загрузил в него сборкуТеперь нужно вызвать код из метода в в основном Appdomain

128
Как сделать запрос на удаление?

Как сделать запрос на удаление?

Подскажите, как удалить определенные строки в базе данных, если они просрочились на 1 день

148