如何在Excel中配置全局宏?是否需要调用RunAutoMacros?
让我逐个帮你拆解这些问题:
是否确实需要执行RunAutoMacros?
不需要。把AutoTagExcelMacro.xla放到C:\Program Files (x86)\Microsoft Office\root\Office16\XLSTART文件夹后,Excel每次启动时都会自动加载这个文件夹里的所有加载项文件,这也是你现在新建工作簿宏已经可用的原因。微软技术支持提到的调用RunAutoMacros,通常是针对那些包含自动触发宏(比如Auto_Open、Auto_Activate)的场景——如果你的加载项里有这类宏,RunAutoMacros可以手动触发它们执行,但你现在的情况里宏已经正常可用,完全没必要额外执行这个命令。在宏中没有Open或Activate宏的情况下,RunAutoMacros的作用是什么?
RunAutoMacros的核心作用就是触发Excel的自动宏(命名为Auto_Open、Auto_Close、Auto_Activate、Auto_Deactivate这类特定名称的宏)。如果你的加载项里没有这些命名的自动宏,调用RunAutoMacros不会产生任何实际效果,因为没有对应的宏代码可以执行。这是否是将宏注册为Excel始终运行项的方式?
不是。RunAutoMacros只是一个触发命令,而让宏“始终可用”的关键是把加载项放到XLSTART文件夹(或者通过Excel选项中的“加载项”面板添加为永久加载项)。XLSTART是Excel的自动加载目录,只要文件在这里,Excel启动就会自动加载,和RunAutoMacros没有关系。测试系统此前曾调用过RunAutoMacros,这是否会对当前效果产生影响?
完全不会。RunAutoMacros是一次性的触发操作,不会修改Excel的持久化设置,也不会影响后续XLSTART文件夹中加载项的自动加载行为。你现在看到的宏自动可用,完全是因为AutoTagExcelMacro.xla被XLSTART自动加载,和之前的调用没有关联。
简单总结:你当前的设置已经完全满足需求,不需要额外执行RunAutoMacros,宏会随着Excel启动自动加载可用。
内容的提问来源于stack exchange,提问作者David Thielen

