Excel 的新实例看不到已打开的实例

Excel 的新实例看不到已打开的实例

我有一份 Avizo.xlt,其中包含一个工作表和一个代码,该代码旨在将此 WS 放入已打开的文档中,该文档是我们古老的 ERP 系统制作的 SLK 报告,然后关闭该文档。

2007 年之前,所有功能在用户桌面上都运行良好。我的代码:

Public Sub format_avizo3()
    On Error Resume Next
    Dim Wb As Workbook
    For Each Wb In Workbooks
        Select Case Wb.Worksheets(1).Cells(1, 1)
        Case "F004CP000V001", "F004CP000V003", "F004CP000V004":
            ThisWorkbook.Worksheets(1).Range("A1:I22").Copy
            'some extra code
        End Select
    Next Wb
    ThisWorkbook.Close False
End Sub

现在,新建文档的 Excel 看不到已打开的 Excel。我该如何强制它找到自己?

解决方法:在流程开始前保持 Excel 打开,它就会起作用。

答案1

不幸的是,这是系统限制,没有快速的解决方案。

您可以在一个 Excel 实例中打开所有工作簿,也可以使用 中的解决方案ForEachLoop。虽然涉及大量代码,但这种方法有效。请点击以下链接了解更多详细信息:

https://stackoverflow.com/questions/2971473/can-vba-reach-across-instances-of-excel

相关内容