【问题标题】:Why using DirectCast assigning Excel Objects为什么使用 DirectCast 分配 Excel 对象
【发布时间】:2014-05-06 07:34:36
【问题描述】:

我正在努力理解以下代码

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 使用直接广播而不是仅仅分配工作簿?

【问题讨论】:

    标签: vb.net excel-interop directcast


    【解决方案1】:

    xlworkbook.Worksheets() 方法返回一个Excel.Sheets 集合。集合(通常)返回 Object 类型的项目,因此,它们应该转换为您期望的类型。

    至于xlworkbook = DirectCast(xlApp.ActiveWorkbook, Excel.Workbook),看来可能不需要这个DirectCast,除非xlApp是在没有使用CreateObject("Excel.Application")的引用的情况下创建的,这将创建一个对象。

    【讨论】:

    • 很好的解释。我现在明白了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 2011-08-16
    • 2020-07-16
    • 1970-01-01
    相关资源
    最近更新 更多