如何查找其他Excel实例并将其分配给Excel.Applicationvariables

我试图完成能够find其他Excel实例,并使用VBA控制它们。

学习其他线程这是我到目前为止,但由于某种原因,它不起作用。

我想要做的是以下几点:

Dim xl as Excel.Application Dim objList As Object Dim objProcess As Object Set objList = GetObject("winmgmts:")._ ExecQuery("select * from win32_process where name='Excel.exe'") If objList.Count > 1 Then For Each objProcess In objList ' If objProcess <> Application Then ' Set xl = objProcess ' this is what doesn't work Exit For ' End If ' Next ' Else Set xl = New Excel.Application End If 'Do stuff with xl 

任何人都可以告诉我我哪里错了,或者如果这是可能的?

看看这个代码我很快就放在一起了,当我有5个excel打开的实例时,这个代码对我有用,每个打开它自己的工作簿。 代码会popup一个消息框,以显示所有Excel实例中的所有打开的工作簿,并显示工作簿名称。 您应该能够修改此以将该工作簿或实例的Excel分配给一个variables。

 Sub Testing() Dim xlApp As Excel.Application Set xlApp = GetObject(, "Excel.Application") Dim xlWB As Excel.Workbook For Each xlWB In xlApp.Workbooks MsgBox xlWB.Name Next xlWB Set xlApp = Nothing Set xlWB = Nothing End Sub