Excel中:打开工作簿中的一个新的应用程序并不运行Workbook_Open事件

问题描述 投票:0回答:2

从Excel的代码,我想打开的Excel B.

使用此代码,新的Excel是在一个新的Excel应用程序打开,让你拥有2个独立的Excel窗口,但!不执行sFileB的Workbook_Open代码:

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

如果我打开新的Excel相同的应用程序里面,然后我只有1与2档Excel中的窗户打开,但以这种方式打开文件被正确执行Workbook_Open事件:

Workbooks.Open sFileB

我想在一个新的应用程序中打开新的Excel sFileB,当然,我想执行sFileB的Workbook_Open代码。你知道为什么在第一种情况下不执行Workbook_Open的原因是什么?任何解决方案,以迫使该事件的执行?也许我这样做对你有所帮助的东西错了...谢谢!

excel vba
2个回答
1
投票

用这个


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:\Tmp\xTemplate.xlsm")

    'wb.Close False
    'xlApp.Quit

End Sub

0
投票

由于保罗的回答,我可以做一些更多的测试,发现点是第一线myApp.Visible =行myApp.Workbooks.Open sFileB之前真写。

因此,这是明确的工作代码:

Set myApp = CreateObject("Excel.Application")
myApp.Visible = True
myApp.Workbooks.Open sFileB
© www.soinside.com 2019 - 2024. All rights reserved.