从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的原因是什么?任何解决方案,以迫使该事件的执行?也许我这样做对你有所帮助的东西错了...谢谢!
用这个
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
由于保罗的回答,我可以做一些更多的测试,发现点是第一线myApp.Visible =行myApp.Workbooks.Open sFileB之前真写。
因此,这是明确的工作代码:
Set myApp = CreateObject("Excel.Application")
myApp.Visible = True
myApp.Workbooks.Open sFileB