我对理解以下代码感到困惑
Dim _xlsSheet As Excel.Worksheet = DirectCast(xlworkbook.Worksheets(Name), Excel.Worksheet)
或
xlworkbook = DirectCast(xlApp.ActiveWorkbook, Excel.Workbook)
我所有关于Excel.Interop工作的例子我看到DirectCast到处都是使用的。我不明白为什么我们必须在这里使用DirectCast。如果我声明dim xlworkbook as excel.workbook
使用直播而不是仅仅分配工作簿?
答案 0 :(得分:1)
xlworkbook.Worksheets()
方法返回Excel.Sheets
个集合。集合(通常)返回Object
类型的项目,因此,它们应该转换为您期望的类型。
对于xlworkbook = DirectCast(xlApp.ActiveWorkbook, Excel.Workbook)
,可能不需要此DirectCast
,除非使用CreateObject("Excel.Application")
创建xlApp而没有引用,这将创建一个对象。