Excel 打开特定工作簿时运行宏
以下是我的情况:我打开了工作簿“MyWorkbook”,其中有一个名为“MyMacro”的宏,该宏设置为单击按钮运行,在下载并打开名为“Analysis.xls”的文件后,我使用该宏 当我打开名为“Analysis.xls”的文件时,有没有一种方法可以让“MyMacro”运行,而不必单击按钮或手动调用宏来执行操作?这应该可以做到(在类模块中执行此操作或在MyWorkbook中的此工作簿中执行此操作)Excel 打开特定工作簿时运行宏,excel,vba,Excel,Vba,以下是我的情况:我打开了工作簿“MyWorkbook”,其中有一个名为“MyMacro”的宏,该宏设置为单击按钮运行,在下载并打开名为“Analysis.xls”的文件后,我使用该宏 当我打开名为“Analysis.xls”的文件时,有没有一种方法可以让“MyMacro”运行,而不必单击按钮或手动调用宏来执行操作?这应该可以做到(在类模块中执行此操作或在MyWorkbook中的此工作簿中执行此操作) 您可以在事件上运行宏。我知道,但我希望“MyWorkbook”中的宏在我打开“Analysis”
您可以在事件上运行宏。我知道,但我希望“MyWorkbook”中的宏在我打开“Analysis”时运行,而不是在我打开“MyWorkbook”时运行。创建一个外接程序并在WorkbookOpen事件上运行它,告诉它检查工作簿名称,如果其分析结果正确,则调用宏。所以我只是将其粘贴到类模块中?或者我应该把不同的东西放在一个单独的模块上吗?没关系,我对类模块做了一些研究,在这里找到了答案:
Private WithEvents app As Application
Private Sub Workbook_Open()
Set app = Application
End Sub
Private Sub app_WorkbookOpen(ByVal Wb as Workbook)
If Wb.Name = "Analysis.xls" Then
'run your macro here
End If
End Sub