Excel:在新应用程序中打开工作簿不会运行Workbook_Open事件



从Excel A的代码中,我想打开Excel B。

使用此代码,新的Excel

将在新的Excel应用程序中打开,因此您有2个独立的Excel窗口,但是!不执行 sFileB 的Workbook_Open代码:

Dim myApp As New Excel.Application
myApp.Workbooks.Open sFileB
myApp.Visible = True

如果我在同一应用程序中打开新的 Excel,那么我只有 1 个 Excel 窗口,其中 2 个文件打开,但以这种方式打开文件,Workbook_Open 事件会正确执行:

Workbooks.Open sFileB
我想

在新应用程序中打开新的 excel sFileB,当然,我想执行 sFileB 的Workbook_Open代码。你知道为什么在第一种情况下没有执行Workbook_Open的原因吗?有什么解决方案可以强制执行事件吗?也许我做错了什么...感谢您的帮助!

使用这个


Option Explicit
Public Sub OpenXLFileInNewInstance()
    Dim xlApp As Excel.Application, wb As Workbook
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    Set wb = xlApp.Workbooks.Open("D:TmpxTemplate.xlsm")
    'wb.Close False
    'xlApp.Quit
End Sub
多亏了

保罗的回答,我可以做更多的测试,发现重点是首先写 myApp.Visible = True 行,然后再写 myApp.Workbooks.Open sFileB 行。

所以这是最终的工作代码:

Set myApp = CreateObject("Excel.Application")
myApp.Visible = True
myApp.Workbooks.Open sFileB

最新更新