Office JS API开发Excel插件:表格/数据透视表右键菜单不显示求助
解决Excel插件在表格/数据透视表右键菜单不显示的问题
明确结论:需要修改manifest文件,通过添加对应表格和数据透视表的右键菜单上下文配置即可解决该问题。
具体修改步骤
在manifest文件中找到定义右键菜单的<ExtensionPoint>节点,为其补充针对表格和数据透视表的<OfficeMenu>配置:
- 普通表格(ListObject)对应上下文ID:
TableMenu - 数据透视表对应上下文ID:
PivotTableMenu
示例配置片段:
<ExtensionPoint xsi:type="ContextMenu"> <!-- 原有普通单元格右键菜单配置 --> <OfficeMenu id="CellMenu"> <Control xsi:type="Button" id="CellContextMenuButton"> <Label resid="AddIn.MenuLabel"/> <Supertip> <Title resid="AddIn.MenuTitle"/> <Description resid="AddIn.MenuDesc"/> </Supertip> <Icon> <bt:Image size="16" resid="AddIn.Icon16"/> <bt:Image size="32" resid="AddIn.Icon32"/> <bt:Image size="80" resid="AddIn.Icon80"/> </Icon> <Action xsi:type="ExecuteFunction"> <FunctionName>launchAddIn</FunctionName> </Action> </Control> </OfficeMenu> <!-- 添加表格右键菜单配置 --> <OfficeMenu id="TableMenu"> <Control xsi:type="Button" id="TableContextMenuButton"> <Label resid="AddIn.MenuLabel"/> <Supertip> <Title resid="AddIn.MenuTitle"/> <Description resid="AddIn.MenuDesc"/> </Supertip> <Icon> <bt:Image size="16" resid="AddIn.Icon16"/> <bt:Image size="32" resid="AddIn.Icon32"/> <bt:Image size="80" resid="AddIn.Icon80"/> </Icon> <Action xsi:type="ExecuteFunction"> <FunctionName>launchAddIn</FunctionName> </Action> </Control> </OfficeMenu> <!-- 添加数据透视表右键菜单配置 --> <OfficeMenu id="PivotTableMenu"> <Control xsi:type="Button" id="PivotContextMenuButton"> <Label resid="AddIn.MenuLabel"/> <Supertip> <Title resid="AddIn.MenuTitle"/> <Description resid="AddIn.MenuDesc"/> </Supertip> <Icon> <bt:Image size="16" resid="AddIn.Icon16"/> <bt:Image size="32" resid="AddIn.Icon32"/> <bt:Image size="80" resid="AddIn.Icon80"/> </Icon> <Action xsi:type="ExecuteFunction"> <FunctionName>launchAddIn</FunctionName> </Action> </Control> </OfficeMenu> </ExtensionPoint>
关键说明
- 不同
<OfficeMenu>的id对应不同的右键触发场景,可根据需求选择添加 - 可以复用同一个启动函数(如示例中的
launchAddIn),也可为不同菜单配置独立函数 - 确保
resid对应的资源字符串在manifest的<Resources>区域已正确定义
修改完成后重新部署加载插件,右键点击表格单元格或数据透视表区域时即可看到插件选项。
内容的提问来源于stack exchange,提问作者Poojan3037
相关产品推荐
相关产品推荐

