tl;dr 我的 Normal.dotm 文件包含一个宏。但是当我在 Word 365 中打开它并基于该模板创建一个新文件或尝试以新名称保存该模板时,所有生成的文件都会删除该宏(包含零个宏)。为什么?有什么解决办法吗?P
我经过大量修改的Normal.dotm包含一个宏:
然而,任何基于它创建的文档在打开过程中都会删除这个宏:
为什么,我错过了什么?
我可以以任何我希望的格式保存基于该模板创建的文档:
- .docx -- 无宏文档,
- .docm -- 启用宏的文档,
- .dotx -- 无宏模板,
- .dotm -- 启用宏的模板
或者我可能会在 Word 中打开它,根本不保存它。没有变化,效果总是一样的——宏不存在,在打开过程中被剥离(可能)。
我可以将文件保存在我想要的任何位置(有些人建议将模板保存在特定文件夹中是必不可少的):
%appdata%\Microsoft\Word\STARTUP
%appdata%\Microsoft\Templates\
- 任何其他位置
同样的效果——保存的文件中没有宏。
在比较现有Normal.dotm
和保存时,Test.dotm
我可以清楚地看到大约 7 kB 的大小差异。并且比较内容表明在Test.dotm
.
信任中心配置似乎正确。我存储模板的所有位置都被认为是“安全的”:
当宏被禁用时,我有一个要被警告的设置:
我 99.99% 确信我的问题是因为我开始使用 Office 365 离线程序。我以前用过的 Word 2010 和 Word 2013 从来没有这样的问题。
我错过了什么或如何解决这个问题?如何使用我的宏保存模板或如何将宏添加到已保存的模板?
编辑:根据评论中的要求,这里是一个 LICECap 动画,它显示:
- 原始模板文件有 27 kB。
- 可以重命名任何样式,并在保存新模板后保留名称更改。
- 原始模板包含一个宏,但基于它创建的文档没有宏。
- 只需更改一个样式名称即可保存原始模板,仅生成 13 kB 的 .dotm 文件。
- 保存的新模板有零个宏。
这是动画:
您似乎遇到了 Word 365 中的一个新错误,该错误忽略了模板中的宏。
我注意到 Word 将 Normal.dotm 视为可替换文件,如果删除则重新创建它。模板更好的地方是在文件夹中
%appdata%\Microsoft\Word\STARTUP
。Word 应该自动加载此文件夹中的所有模板,但现在又一次不适用于宏。目前,您能做的最多就是通过反馈中心向 Microsoft 发送此错误。
由于您的宏主要用于文本替换,因此它们可能会被 AutoText 规则甚至 AutoHotkey 宏替换为解决方法。有了更多信息,我也许可以提供帮助。
您能否禁用防病毒(甚至可能是卸载?)并再次测试它?另一个想法:在 Windows 上创建第二个用户,登录并测试一切是否发生,禁用防病毒。过去,我对 Word 宏中的虚假防病毒检测感到头疼。该宏处理加载项,这是病毒可以攻击的敏感区域。防病毒软件几乎总是会检查 Office 文档中的“病毒”。