【发布时间】:2015-02-25 08:13:30
【问题描述】:
正如标题所说,我有一个包含宏的 Word 模板,在 Office 2011 for MAC 的新 Word 版本中无法正常运行。
似乎无法正常工作的是以下代码:
Sub Document_New()
myForm.Show
End Sub
Document_Open() 也是如此
在 Mac 版上似乎无法运行此代码。
有谁知道为什么这在 Mac 上不起作用,或者是否有其他方法可以模拟 document_open/document_new 函数?
编辑:文档为 .dot 格式。我试图将它保存到 .doc,然后 Document_open() 工作得很好,所以它似乎不能以 .dot 格式工作。而且 Document_New() 没有在 .doc 中运行,因为它不是基于新的模板文件在文件上..
编辑 2:似乎只有 .doc 文件上的 Document_open 一次。我不能让它再次工作。太奇怪了!我开始工作的唯一事件是 Document_Close(),这仅在使用 .doc 文件格式时 - 这每次都有效......
编辑 3:这越来越奇怪了。我用以下代码制作了一个新的 .doc 文档:
Private Sub Document_Open()
MsgBox ("BlaBlaBla")
End Sub
只有在我关闭 word 文件并尝试再次打开它之前打开 Visual Basic 编辑器时,代码才会运行。如果我关闭 Visual Basic 编辑器,然后关闭 word 文件,然后打开 word 文件;代码没有运行。
??
【问题讨论】:
-
您最后的编辑很有意义。只能有一个 VB 运行进程,当启动 VB 编辑器时,您可以控制执行(播放/暂停停止按钮)。因此,如果您在使用活动 VB 编辑器运行 _Open() 事件时遇到问题,那就是原因。所有应用程序 VB 事件都被抑制,因为这意味着意外的代码执行。