我打开文档时需要运行宏。为此,我使用AutoOpen方法创建了.Dotm模板。问题是它没有执行。当我在普通文件中添加AutoOpen宏时,它可以很好地工作。
我们不想在Normal.dotm文件中添加AUtoOpen代码。我们如何使用不同的模板文件实现相同的目标。
答案 0 :(得分:1)
我有完全相同的问题。我有两个单独的.dotms与AutoOpen模块,不能在XP或Win7 x64上自动打开Office 2010.我随后注意到AutoOpen模块中的所有Subs都是Private。 Hmmmmm。使我的主要子公共,保留所有其他子私有,并且他们两个现在AutoOpen。也许这会有所帮助。
答案 1 :(得分:0)
不是我,但我猜你得到了投票,因为你没有说过你尝试了什么,你正在使用什么版本的Word,或者你正在使用什么操作系统。所有这些都有助于诊断问题。
我也猜测你可以不简单地将宏保存到你想要运行它的任何文件中,因为这应该是微不足道的。我是对的吗?
如果是这样,我试图在Windows 7 64位上使用Word 2010做类似的事情,但我也无法让它工作。我需要打开的文档是从pandoc自动生成的,并在兼容模式下打开,所以也许这就是我的问题。如果情况并非如此,我尝试过的一些事情可能对你有帮助。
start winword /tmacros.dotm document.docx
start winword /tmacros.dotm /mAutoOpen document.docx
。AutoOpen
或AutoExec
,而不是命名宏Document_Open
。注意:/ t或/ m选项与文件名之间没有空格。我也尝试过winword.exe的完整路径,而不是start winword
,但这并没有什么区别。
希望这有帮助,祝你好运!如果您自己解决这个问题,请将解决方案发回此处。
来源:
命令行开关:http://support.microsoft.com/kb/290961
AutoExec / AutoOpen:http://support.microsoft.com/kb/286310
答案 2 :(得分:0)
"为此,我使用AutoOpen方法创建了.Dotm模板。"
使用带有File |的NotNormalWithAutoOpenMethod.Dotm创建新文档新。
对于现有文档,请基于NotNormalWithAutoOpenMethod.Dotm创建新文档。将现有文档的内容复制到新的空白文档中。保存并关闭。重新打开新文档后,代码应该运行。