用户在Excel中启用macros时触发我的macros代码

由于默认情况下禁用了macros(默认情况下启用它们不是选项),所以无论何时打开包含macros的Excel工作表,我都会popup询问是否要启用macros。 是否有可能赶上这个popup的“确定”button按下事件并运行一个macros。

也就是说,如果用户select启用macros,那么我的macros应该运行响应。

首先,关于你的“默认启用它不是一个选项”的说法,请记住,这不一定是真实的。 用户可以允许所有的macros自动执行,没有任何提示(在Developer tabMacro security ,select“启用所有macros(不推荐…)”)。 在默认情况下没有启用macros的情况下,在用户允许运行给定的macros之前,不能做任何事情。 一旦macros运行,你就可以在开始时自动触发各种事件,在这里你可以放置代码。 例如:在文件ThisWorkbook (在“Microsoft Excel对象”下),您可以使用Workbook_Open方法。 示例代码:

 Private Sub Workbook_Open() MsgBox "This is the soonest I can popup" End Sub 

如果您在上述文件中复制此代码,您将看到一个popup窗口出现在macros启用后。

注意:具有自己的文件types(.xlsm)的事实应该足以说明问题。 不幸的是,不less人认为macros的function非常有限(主要限于给定的电子表格),这是一个危险的错误观念:macros可以做的事情与传统的.exe文件几乎相同。