为什么即使在导入 Microsoft.Office.Interop.Excel (VB.NET) 之后我在所有 Excel 对象上都得到 "not defined"?

Why do I get "not defined" on all the Excel objects even after importing Microsoft.Office.Interop.Excel (VB.NET)?

我有这个代码:

进口 Excel = Microsoft.Office.Interop.Excel

Public Class FormExcelTest_VB

Private Sub ButtonCreateExcelFile_Click( sender As Object,  e As EventArgs) Handles ButtonCreateExcelFile.Click
    Dim xlApp As New Excel.Application
    Dim xlWorkBook As Excel.Workbook
    Dim xlWorkSheet As Excel.Worksheet
    . . .

我从 here 那里得到的。

虽然它没有编译;我得到:

Type 'Excel.Application' is not defined.
Type 'Excel.Workbook' is not defined.
Type 'Excel.Worksheet' is not defined.

不熟悉VB[.NET],我心想,“自己,你可能忘了添加一个必需的引用。”但后来我看到了该项目的解决方案资源管理器中没有 "References" 文件夹(来自 C# 领域,这对我来说似乎非常奇怪)。

我将鼠标悬停在被拒绝的代码上时收到的 "helpful" 消息是:

第一个似乎不是可行的补救措施,后面的更不可能。我怎么知道如何解决(没有双关语意)这些未定义的类型?

这对我来说仍然很奇怪,但我发现您通过“项目”>“添加引用”来添加引用...

我添加了 "Microsoft Excel 12.0 Object Library",现在可以编译了。

View > Object Browser 是查看您添加了哪些引用的路径,我猜; C# 方式对我来说似乎很遥远 "friendlier"。

有时会发生。

  • 在“解决方案资源管理器”中右键单击您的项目名称

  • Select“添加引用”

  • 在“.NET”选项卡上滚动并找到“Microsoft Excel 12.0 Object Library”

  • Select 并点击“确定”按钮。

就这些了。