2016-10-11 3 views
0

В книге VSTO, Я хотел бы получить данные из объекта ListObject, сделанного из Excel. Таким образом, в коде нет таких вещей, как DataBinding.Получить данные из ListObject, не сделанные из кода

То, что я хотел бы сделать что-то вроде этого:

var rows = ((DataTable)Globals.Feuil1.MyNamedListObject.DataSource).Rows 

К сожалению, здесь DataSource равно нулю, потому что, конечно, это не связано.

ответ

0

Мое предложение - получить ListObject из книги по названию. Эта функция ниже вернет ListObject по имени строки. Он выполняет итерацию по всем листам и соответствующим ListObjects, сравнивающим имена с переданной вами строкой и в случае совпадений возвращает ListObject. Надеюсь, поможет. С наилучшими пожеланиями.

' 
' Find a Table in the Workbook by its String name 
' 
Function GetTable(strTable As String) As ListObject 

    For Each WS In ActiveWorkbook.Worksheets 
     For Each tbl In WS.ListObjects 
      If tbl.Name = strTable Then 
       Set GetTable = tbl 
       On Error GoTo 0 
       Exit Function 
      End If 
     Next 
    Next 

    Set GetTable = Nothing 

End Function