虽然这是旧话题,但由于各种原因,我最近一直在排除加载不了的 Office Add-Ins 问题。
这花费了大量时间,所以我想分享一下。如果您的 Add-In 无法加载、不可见等,请尝试以下解决方案。
1. Add-In 未加载
未加载。在加载 COM Add-In 期间发生运行时错误。
![enter image description here](https://istack.dev59.com/puYR8.webp)
该问题是由于缺少 .Net Framework 3.5 或 4.0 导致的。
注意:如果 Office 版本是 64 位(x64),只需要 .Net 4.0。然而,如果 Office 版本是 32 位(x86),即使安装了 .Net 4.0,也会出现错误。按照 此文章,我安装了 .Net 3.5,然后它在 x86 Office 上能够正常工作!
还需要从此处安装 VSTO Runtime 3.0。
2. Add-In 未加载
仔细检查您是否正确地拼写了注册表键。有时我会输入“Behaviour”,但在美式英语中是“Behavior”,因此请仔细检查“LoadBehavior”。
![enter image description here](https://istack.dev59.com/ZgKGf.webp)
还要确保“LoadBehavior”为 3,有关值列表,请参见http://msdn.microsoft.com/en-us/library/vstudio/bb386106.aspx#LoadBehavior
3. Add-In 不可见
您可以通过转到 Excel > 文件 > 选项 > Add-Ins > 选择管理下拉列表并将其设置为 COM Add-Ins > 单击“前往”,使 Add-In 可见。在 COM Add-Ins 对话框中,确保已选中 Add-In。
4. Add-In 已禁用
或者,Add-In 可能因已被禁用而被隐藏。您可以通过转到 Excel > 文件 > 选项 > Add-Ins > 选择管理下拉列表并设置为“已禁用”,然后单击“前往”。选择已被禁用的 Add-In,然后单击“启用”来启用它。
![enter image description here](https://istack.dev59.com/Qyonz.webp)
5. ExcelDNA 用户定义的公式未正确呈现
您看到的不是单元格值,而是:#NAME?
设置以下注册表键:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\options\OPEN:
使用正确的值:
/R "C:\Program Files\XYZ\XYZ Addin\ExcelDNA.XYZAddIn.xll"
6. Excel显示消息框后卡住
重新开启应用程序设置:
xlApp.ScreenUpdating = true
xlApp.DisplayAlerts = true
xlApp.Calculation = XlCalculation.xlCalculationAutomatic
xlApp.UserControl = true
xlApp.EnableEvents = true
7. 进一步故障排除
通过在系统环境变量中添加以下内容来启用您的VSTO日志文件:
NAME: VSTO_LOGALERTS
VALUE: 1
可能会有一个例外错误,导致您的插件无法加载。
要设置VSTO日志记录和警报,您需要更改两个环境变量值,具体取决于您需要执行的操作:
显示VSTO警报提示
要在消息框中显示每个错误,请将VSTO_SUPPRESSDISPLAYALERTS变量设置为0(零)。您可以通过将变量设置为1(一)来抑制这些消息。
将VSTO警报记录到日志文件中
要将错误写入日志文件,请将VSTO_LOGALERTS变量设置为1(一)。
Visual Studio Tools for Office会在包含应用程序清单的文件夹中创建日志文件。默认名称为.manifest.log。要停止记录错误,请将变量设置为0(零)。