![Word 2003 加载项限制](https://linux22.com/image/480795/Word%202003%20%E5%8A%A0%E8%BD%BD%E9%A1%B9%E9%99%90%E5%88%B6.png)
Word 中插件的数量或大小是否存在已知的限制?
目前,如果我在 Word 副本中执行 Application.COMAddIns.Count,我会得到 4 个,其中一个是我写的,另外三个是
WordOptimisingAddin
iManage Word2000 integration (Ver 1.3)
Workshare Add-In For Microsoft Word
它们是 iManage(实际上是 FileSite 8.2)和 WorkShare。除此之外,各个启动目录中还有八个模板,每个模板都有自己的 VBA 项目,因此有大量自定义代码被加载到 Word 中。
显然,当运行没有打开任何文档的 Word 副本时会占用 115MB 的 RAM,因此打开该应用程序需要很长时间。
我们似乎主要遇到的是速度变慢而不是彻底崩溃,但我担心如果我们添加更多插件,那么我们就会开始遇到大量崩溃。其他人是否知道 Word 安装太多插件时会出现此类问题?
答案1
我更倾向于使用 Excel,因为 Excel 加载了大量的插件,但情况也差不多。由于插件占用的内存越来越多,Excel 的速度会变慢,但我从未见过它因为插件数量太多而崩溃,或者因为插件提示我已经有太多插件而无法加载某个插件。
这更多的是系统内存问题,而不是 Word 总共可以处理多少个加载项。加载到内存中的加载项越多,速度就会越慢。此外,借助 Office 2003 的加载项崩溃保护,如果确定 Word 崩溃是加载项导致的,Word 将禁用该加载项。我见过很多次在启动 Excel 时加载所有加载项时发生这种情况。通常这是因为我们自己开发的加载项,这些加载项确实没有世界上最大的错误陷阱……
当您获得附加插件时,您应该在将其部署到生产环境之前在基础级机器上对其进行测试。这样,您就可以了解插件消耗的系统资源类型以及它如何与您正在加载的其他插件配合使用。商业制造商还应该为您提供系统要求,以帮助您规划安装,包括内存要求。
如果您发现您的自定义插件造成了一些问题,那么您确实需要检查您的代码以进行可能的优化。
答案2
我认为速度变慢可能是由于将 Office 主互操作程序集 (PIA) 和 Visual Studio Tools for Office (VSTO) 运行时加载到内存中产生的额外开销。这取决于插件开发人员是否仅使用 VSTO 或 COM。它还可能取决于插件在启动时可能需要加载的任何其他依赖项 (DLL) 和/或必须在关闭时保存的数据。
为了帮助您确定附加插件是否会进一步影响用户体验,我建议您:
测量现有配置的启动和关闭时间。在系统启动时执行一次此操作,并在相同会话期间关闭并重新打开 Word 时再执行一次。两次启动时间是否相差很大?关闭时间又如何?
禁用所有插件。重复 1 中的测试。没有插件的配置是否提高了性能?
重新启用每个插件,每次一个,重复 1 中的测试。每个插件的启动/关闭时间是否受影响相同,还是有些插件比其他插件受影响的时间更多?
上述测试顺序可能看起来很费力,但应该不会超过一个小时,而且你应该有足够的信息来回答你的问题。你还可能会看到差异,具体取决于启动 Word 时已打开的其他 Office 应用程序。