如何解决VBA打开带AutoNew()宏模板的文档时宏终止的问题?
问题:附加含AutoNew()宏的模板后,VBA宏打开文档时意外终止
VBA宏可正常打开并修改文档,但当文档附加的模板包含AutoNew()宏时,宏在打开文档后会直接停止运行,且无任何报错提示。
测试步骤
- 打开附加Normal.dotx模板的文档
- 为该文档附加一个带有
AutoNew()宏的模板 - 保存并关闭文档
- 重新打开此文档
- 弹出显示文件名的消息框
测试代码
Documents.Open strPath & "test.docx" With ActiveDocument .AttachedTemplate = strPathToTemplate & strTemplateName ' 该模板包含AutoNew()宏 .Save .Close End With Documents.Open strPath & "test.docx" MsgBox ActiveDocument.Name
现象说明
- 首次运行宏时,执行到重新打开文档的步骤后便停止,test.docx保持打开状态且为活动文档,消息框未弹出,也无任何报错
- 再次运行宏(此时文档已处于打开状态),消息框可正常弹出
- 若将代码中设置模板的语句指向不带
AutoNew()或AutoOpen()宏的启用宏模板,宏能完整执行所有步骤并弹出消息框
内容的提问来源于stack exchange,提问作者Jake Harms
相关产品推荐
相关产品推荐

