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

问题描述 投票:0回答:1

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

我怎么解决这个问题?

vba ms-office word-vba
1个回答
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。然后在右上角的列表中选择Newf,以获取存根(如果Word不自动创建它)。

© www.soinside.com 2019 - 2024. All rights reserved.