Excel - Kan ikke kaste COM-objekt af typen 'System .\_\_ ComObject' til klassetype 'System.Array'

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøgte at læse excel char med VB.net, jeg bruger VS2013 og Office2013


da jeg brugte LBOUND og UBOUND-funktionen, forårsager denne undtagelse


koden er:


 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))


og undtagelsen:



  未处理 System.InvalidCastException
  HRESULT=-2147467262

  Meddelelse=无法 将 类型 为 System .\_\_ COM-objekt 的 KOM 对象 强制 转换 为 类 类型 System.Array 表示 COM 组件 的 类型 实例 不能 强制 转换 为 不 表示 KOM 组件 的 类型;. 不过, 只要 基础 KOM 组件 支持 对接口 IID 的 QueryInterface 调用, 就能 将 这些 实例 强制 转换 为 接口.




Jeg søger på google og ikke meget nyttige oplysninger, så enhver hjælp er værdsat.

Bedste reference


Egenskaben Range returnerer et Range objekt. For at få værdien skal du bruge Value eller Value2 egenskaben til Range objektet. Værdien vil være en 2D-array (matrix), når objektet Range spænder over mere end en celle. Hvis Range -objektet kun spænder over en enkelt celle, vil værdien være en skalar. [10] [11] [12] [13] [14] [15]]] [16]


Debug.Print(LBound(area.Value))