我已经找了关于这个的所有主题,仍然找不到解决方案。我的主要问题是,任何时候我打开Excel文件从我的应用程序中,它被打开在新的示例。我想要的-检测是否有正在运行的Excel,如果有-使用此示例,如果没有-创建一个新的。
这是行不通的:
Dim xlsApp As Object
Dim AllExcelProcess() As Process = System.Diagnostics.Process.GetProcessesByName("Excel")
If AllExcelProcess.Length = 0 Then xlsApp = New Excel.Application Else xlsApp = GetObject(, "Excel.Application")
AllExcelProcess工作正常,返回Excel应用程序正在运行,但GetObject始终不返回任何内容。我做错了什么?
2条答案
按热度按时间ttvkxqim1#
这对我来说是有效的,从word和一个excel示例已经打开。微软365。
roejwanj2#
更简单的方法来做我想做的事情:
我有两个问题你可能想看看:
1.您已在“引用”下加载了Microsoft Excel库。如果找不到它,请将现有的EXCEL.EXE添加到其中
1.如果还是不行,在其他对象上试试GetObject,VS能检测到它们的类吗?在我的例子中,它根本不起作用
解决方案:我添加了MS Excel库,创建了新的解决方案。GetObject在那里开始工作,使用上面的代码进一步的一切都很容易。