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

时间:2018-03-04 19:06:45

标签: vba ms-office word-vba

我需要使用命令行从自定义模板创建文档。此模板包含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,允许宏执行。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用/ 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(类)模块中找到该事件。单击代码窗口左上角的列表,然后选择Document。然后从右上角的列表中选择New以获取存根,如果Word不自动创建它。