VB.NET GetObject(,“Excel.Application”)无法运行Excel

时间:2016-02-07 04:40:59

标签: vb.net excel automation

我有一个可见的,可运行的Excel 2013实例。我已经执行了快速修复在线修复,并等待修复完全完成。

如果我从Word运行此VBA,我可以获取对正在运行的Excel应用程序的引用:

Sub WordMacro()
  'This works
  Dim o As Object
  Set o = GetObject(, "Excel.Application")
End Sub

但是如果我在.NET 4.5下从Visual Studio 2013 Professional运行它,它就会失败:

Option Strict Off

Module Module1

    Sub Main()

        Dim o As Object
        'Cannot create ActiveX component.
        o = GetObject(, "Excel.Application")

        'But this does create a new, hidden instance
        o = CreateObject("Excel.Application")
    End Sub

End Module

我是否缺少某些安全性考虑因素,或者我是否只需要完全卸载/重新安装Office?

1 个答案:

答案 0 :(得分:0)

在.NET中,您必须先运行excel.exe才能获取实例:

Shell("C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe", _
            AppWinStyle.MinimizedFocus)
Xc = GetObject(, "Excel.Application")