VBA - 在打开任何工作簿时自动运行

时间:2017-05-12 14:28:19

标签: excel vba excel-vba

我想在每次打开任何工作簿时运行PERSONAL.XLAM文件中的Sub。以下工作,但只有在没有打开其他工作簿时才打开工作簿。

Private Sub Workbook_Open()
MsgBox "Hello."
End Sub

如何在打开其他工作簿时完成此工作?

1 个答案:

答案 0 :(得分:2)

根据马苏德的comment this is a great article。你可以在那里找到所有细节,但简单地说,这就是你所需要的:

Private WithEvents App As Application

Private Sub Workbook_Open()
    Set App = Application
End Sub

Private Sub App_NewWorkbook(ByVal Wb As Workbook)
    MsgBox "New Workbook: " & Wb.Name
End Sub

将代码放入 ThisWorkbook 模块中。