Невозможно преобразовать COM-объект типа «System .__ ComObject» в тип класса «System.Array». - PullRequest
0 голосов
/ 03 мая 2018

Я пытался читать Excel Char с VB.net, я использую VS2013 и Office2013

когда я использовал функции LBOUND и UBOUND, это вызывает исключение

код:

 Dim objApp As New Excel.Application
 Dim objWorkbook As Excel.Workbook
 Dim objWorksheet As Excel.Worksheet

 objWorkbook = objApp.Workbooks.Open(path & FileName)
 objWorksheet = objWorkbook.Sheets(2)
 area = objWorkSheet.Range("a7", "a8")
 Debug.Print(LBound(area))

и исключение:

未处理 System.InvalidCastException HResult = -2147467262
Сообщение = «System .__ ComObject», COM, «System.Array», «COM», «COM», «COM», «COM», «COM». ID IID 的 QueryInterface 101 , 就能 将 这些 实例 强制 转换 为 接口。

Я ищу в Google и не так много полезной информации, поэтому любая помощь приветствуется.

1 Ответ

0 голосов
/ 03 мая 2018

Свойство Range возвращает Range объект . Чтобы получить значение, используйте свойство Value или Value2 объекта Range . Значением будет 2D-массив (матрица), когда объект Range охватывает несколько ячеек. Если объект Range охватывает только одну ячейку, значение будет скалярным.

Debug.Print(LBound(area.Value))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...