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

我有一个单一的,可见的,正在运行的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?

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

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