【发布时间】:2018-09-29 08:56:25
【问题描述】:
我有一组非常复杂的宏,可以为 Word 文档增加力量。在我的公司内,宏已经扩展到几十个 Word 文档实例。我不时地改进或修复宏,但是将修复分发到现有 Word 文件的数十个实例是很痛苦的。我应该怎么做才能简化分发?
我可以写一个宏来导入宏吗? :-)
【问题讨论】:
我有一组非常复杂的宏,可以为 Word 文档增加力量。在我的公司内,宏已经扩展到几十个 Word 文档实例。我不时地改进或修复宏,但是将修复分发到现有 Word 文件的数十个实例是很痛苦的。我应该怎么做才能简化分发?
我可以写一个宏来导入宏吗? :-)
【问题讨论】:
在 Word 文档中包含宏既是福也是祸:分发简单,但难以维护。
除了在文档中分发之外,您还有两种提供宏的基本策略,都涉及将宏放在模板中(dotm 文件)。执行此操作时,不仅可以使用宏,还可以使用模板中的功能区自定义和键盘快捷键。这减少了您必须维护的存储文件的数量。
模板通过“附加模板”属性链接到特定文档。附加模板中的宏仅适用于链接到该模板的文档。模板会自动链接到使用文件/新建从它创建的任何文档。可以事后附加模板
ActiveDocument.AttachedTemplate = "File path and name.dotm"
模板可以存储在单个用户的“模板”文件中(在 Windows 7 中,默认情况下类似于C:\Users\[user name]\AppData\Roaming\Microsoft\Templates)或网络上的共享模板位置。通过这种方式,它可以通过 File/New 获得。 (它也可以存储在其他任何地方,但不会出现在 File/New 中。)
模板作为插件加载。这最适合在“所有”文档中使用的功能,而不仅仅是特定文档类型。
C:\Users\[unser name]\AppData\Roaming\Microsoft\Word\STARTUP)理论上,可以使用宏来编辑宏。这涉及在完成它的计算机上引入安全风险(因为这是传播宏病毒的方式)。而且这样做的对象模型文档很少,也不是很复杂(IOW 编写代码并不容易)。
您需要在文件/选项/信任中心/信任中心设置/宏设置中手动勾选“信任对vba项目对象模型的访问”选项。
您需要在代码项目中添加对 VBA 编辑器工具/参考中“Visual Basic for Applications Extensibility 5.3”的引用
第三种可能性是使用 VBA 编辑器的文件/导出文件命令将代码模块备份/导出/保存为纯文本文件。然后使用文件/导入文件命令将代码引入其他文档/模板。 (注意:您首先需要删除已存在的任何同名代码模块。)从文件中导入代码的 FWIW 在 VBA 可扩展性对象模型中也可用。
【讨论】: