从自定义 .dotm 模板执行 AutoOpen 宏

Execute AutoOpen macro from custom .dotm template

我需要使用命令行从自定义模板创建文档。此模板包含 AutoOpen 例程,如果我打开模板本身,它就会执行:

path_to_msoffice/winword.exe "c:/users/michael/Application Data/Microsoft/Templates/my_template.dotm"

但是当我尝试基于模板创建文档时,它已创建但宏例程未执行:

path_to_msoffice/winword.exe /t"c:/users/michael/Application Data/Microsoft/Templates/my_template.dotm"

我有Office 2010,允许执行宏。

我该如何解决这个问题?

使用 /z 开关而不是 /t 开关。这会启用 NEW 事件。 (有关命令行开关的完整列表,请参阅 https://support.microsoft.com/en-us/help/210565/how-to-use-startup-command-line-switches-to-start-word-2010-word-2007

请注意,从模板创建新文档时,AutoOpen 不是您想要的。这就是打开链接到模板的现有文档时触发的内容。

AutoNew 将是使用 File/New 创建新文档时触发的宏,但 /z 开关会触发 New 事件 ,而不是那个宏。您可以在模板的 ThisDocument (class) 模块中找到事件。单击代码 Window 左上角的列表,然后选择 Document。如果 Word 未自动创建存根,则从右上角的列表中选择 New 获取存根。