VSTO Excel:为不同加载项创建独立功能区的问题
解决VSTO Excel加载项功能区混合问题
确保每个加载项的功能区选项卡ID完全唯一
打开每个项目的功能区设计器,右键点击选项卡选择「属性」,找到ControlId属性,设置为Custom类型,然后在ControlIdName中填入全局唯一的字符串(比如Project1_UniqueTabID和Project2_UniqueTabID),绝对不能重复。验证自定义功能区XML(手动编辑场景)
如果是手动编写功能区XML代码,要保证每个<tab>元素的id属性是唯一值,示例如下:<!-- Project 1 功能区代码 --> <tab id="Tab_Project1_Exclusive" label="Project 1"> <!-- 项目1的控件内容 --> </tab> <!-- Project 2 功能区代码 --> <tab id="Tab_Project2_Exclusive" label="Project 2"> <!-- 项目2的控件内容 --> </tab>注意不要使用
idMso属性,该属性用于引用Office内置控件,自定义选项卡必须用专属的自定义id。检查加载项注册与安装信息
- 若用ClickOnce发布,确保两个项目的发布名称和产品ID完全不同;
- 若用MSI安装,保证安装路径、注册表子项(如
HKCU\Software\Microsoft\Office\Excel\Addins下的条目)不重复。
清除Office缓存
旧缓存可能导致显示异常,按以下操作清理后重启Excel测试:- 关闭所有Office程序;
- 打开命令提示符,执行:
del /s /q "%LOCALAPPDATA%\Microsoft\Office\16.0\Wef\*"; - 删除
%APPDATA%\Microsoft\Office\Recent下的临时文件。
内容的提问来源于stack exchange,提问作者Alex S.
相关产品推荐
相关产品推荐

