自动执行AutoOpen Word宏

时间:2014-08-06 13:16:07

标签: vba ms-word word-vba

我打开文档时需要运行宏。为此,我使用AutoOpen方法创建了.Dotm模板。问题是它没有执行。当我在普通文件中添加AutoOpen宏时,它可以很好地工作。

我们不想在Normal.dotm文件中添加AUtoOpen代码。我们如何使用不同的模板文件实现相同的目标。

3 个答案:

答案 0 :(得分:1)

我有完全相同的问题。我有两个单独的.dotms与​​AutoOpen模块,不能在XP或Win7 x64上自动打开Office 2010.我随后注意到AutoOpen模块中的所有Subs都是Private。 Hmmmmm。使我的主要子公共,保留所有其他子私有,并且他们两个现在AutoOpen。也许这会有所帮助。

答案 1 :(得分:0)

不是我,但我猜你得到了投票,因为你没有说过你尝试了什么,你正在使用什么版本的Word,或者你正在使用什么操作系统。所有这些都有助于诊断问题。

我也猜测你可以简单地将宏保存到你想要运行它的任何文件中,因为这应该是微不足道的。我是对的吗?

如果是这样,我试图在Windows 7 64位上使用Word 2010做类似的事情,但我也无法让它工作。我需要打开的文档是从pandoc自动生成的,并在兼容模式下打开,所以也许这就是我的问题。如果情况并非如此,我尝试过的一些事情可能对你有帮助。

  1. 使用命令行中的/ t选项:start winword /tmacros.dotm document.docx
  2. 如果这不起作用,请尝试添加/ m选项:start winword /tmacros.dotm /mAutoOpen document.docx
  3. 请尝试AutoOpenAutoExec,而不是命名宏Document_Open
  4. 注意:/ 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创建新文档。将现有文档的内容复制到新的空白文档中。保存并关闭。重新打开新文档后,代码应该运行。