暂停执行VBA脚本,直到打开另一个特定的Excel工作簿?

0 excel vba event-handling excel-vba

我希望在Excel中运行VBA脚本,并在某个时刻暂停,直到特定工作簿打开.然后继续原始工作簿中的脚本.这是因为原始工作簿需要从新打开的工作簿导入数据,然后关闭该新工作簿.我假设我应该使用某种Windows事件处理程序来监视文件打开等事情.
正在使用的版本是MS windows 10和excel 2013

小智 5

WithEvents允许我们监视暴露给自动化的ActiveX事件.这里我声明一个变量WithEvents来监视Excel.Application NewWorkbook事件.

在此输入图像描述

Option Explicit
Private WithEvents ExcelApp As Excel.Application

Private Sub ExcelApp_NewWorkbook(ByVal Wb As Workbook)
    If Wb.Name = "MyWorkbook.xlsm" Then Call ProcessMyWorkbook
End Sub

Private Sub Workbook_Open()
    Set ExcelApp = Application
End Sub
Run Code Online (Sandbox Code Playgroud)