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

是否暂停VBA脚本的执行,直到打开另一个特定的excel工作簿?,excel,event-handling,vba,Excel,Event Handling,Vba,我希望在Excel中运行VBA脚本,并在某一点暂停,直到打开特定工作簿。然后在原始工作簿中继续执行脚本。这是因为原始工作簿需要从新打开的工作簿导入数据,然后在..之后关闭该新工作簿。。我假设我应该使用某种Windows事件处理程序来监视文件打开之类的事情。 使用的版本是MS windows 10和excel 2013,其中包含事件,允许我们监视暴露于自动化的ActiveX事件。这里我声明了一个变量WithEvents,用于监视Excel.ApplicationNewWorkbook事件 Wit

我希望在Excel中运行VBA脚本,并在某一点暂停,直到打开特定工作簿。然后在原始工作簿中继续执行脚本。这是因为原始工作簿需要从新打开的工作簿导入数据,然后在..之后关闭该新工作簿。。我假设我应该使用某种Windows事件处理程序来监视文件打开之类的事情。

使用的版本是MS windows 10和excel 2013,其中包含事件,允许我们监视暴露于自动化的ActiveX事件。这里我声明了一个变量
WithEvents
,用于监视
Excel.Application
NewWorkbook
事件


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


另一个工作簿是如何打开的?你的代码打开了吗?如果是,那么你应该在问题中包含你的代码……如果不是,那么你需要准确地解释发生了什么;谢谢你的快速回复。正在从外部应用程序(SAP)打开另一个工作簿。用户将在SAP中运行一个列表,并将其导出到名为“worksheet in basis(1)”的新excel工作簿中.xlsx。不幸的是,这是默认值,无法更改。打开该工作簿时,我希望能够让原始工作簿注意到它,并执行例程从新工作簿中提取数据并将其粘贴到设置表中。带有代码的工作簿是否已在Excel中打开?如果是,则当报表打开时,它是否会打开n与代码所在的实例相同?Tim:带有代码的工作簿在Excel中打开。已经执行了一些例程,需要等待带有提取的SAP数据的新工作簿打开。当新工作簿打开时,它位于Excel的新实例中。另一个工作簿是如何打开的?您的代码是否正在打开它?如果是,那么您应该在问题中包含您的代码……如果不是,那么您需要准确地解释发生了什么。Tim;感谢您的快速响应。另一个工作簿正在从外部应用程序(SAP)打开。用户将在SAP中运行一个列表,并将其导出到名为“worksheet in basis(1).xlsx”的新excel工作簿中。不幸的是,这是默认设置,无法更改。当该工作簿打开时,我希望能够让原始工作簿注意到它,并执行一个例程,从新工作簿中提取数据并将其粘贴到一个集合表中。带有代码的工作簿是否已在Excel中打开?如果是,那么当报表打开时,它是否在与代码所在实例相同的实例中打开?蒂姆:带有代码的工作簿在Excel中打开。已经执行了一些例程,需要等待包含提取的SAP数据的新工作簿打开。打开新工作簿时,它位于Excel的新实例中。
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