有没有办法在我的个人宏文件中包含“工作簿”事件函数?

有没有办法在我的个人宏文件中包含“工作簿”事件函数?

例如

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    Beep
End Sub

这仅适用于“ThisWorkbook”,并且一次只能在一个电子表格中起作用,而不适用于我的 personal.xlsb 文件。(灵感来自这里

答案1

  1. 按下F4可显示项目属性。
  2. 将 VBAProject 命名为您的个人工作簿Personal
  3. 创建一个调用 beep 的子程序。

    Public Sub MakeItBeep
        Beep
    End Sub
    
  4. 在您想要启用此功能的工作簿中,单击菜单栏上的Tools>> 。References
  5. 点击Browse...
  6. 找到您的 Personal.xls 文件并选择它。(它可能位于许多不同的位置,因此搜索C:\驱动器通常是找到它的最简单方法。)
  7. 在工作簿的适当事件中,插入此代码(当然要调整模块名称)。

    Personal.Module1.MakeItBeep
    

然而,这样做有几个问题,我真的不推荐这样做。

  1. 这比直接调用需要更多的代码和工作Beep
  2. 这很可能会导致使用该工作簿的任何其他用户出错。他们需要禁用此工作簿上的宏。因此,如果有任何其他宏需要要运行,您不能这样做。

你可以使用指令来解决这个问题,但这样做工作量太大,而且没有任何好处。如果你仍然感兴趣,我写了一篇关于如何在项目级别设置中使用条件编译

相关内容