Ale*_*dru 11 .net c# xml office-addins word-addins
我有一个Office插件,它使用以下后台XML将自定义UI元素添加到Microsoft Word后台:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<backstage onShow="Backstage_OnShow">
<tab idMso="TabSave">
<firstColumn>
<taskFormGroup idMso="SaveGroup">
<category idMso="Save">
<task id="myCustomTask" label="My Custom Task" insertAfterMso="ButtonTaskDynamicServiceProvider">
<group id="myGroupInTabSave" label="Custom functionality" helperText="This group contains custom functionality.">
<primaryItem>
<button id="myButton" label="My Button" onAction="CallMe" />
</primaryItem>
</group>
</task>
</category>
</taskFormGroup>
</firstColumn>
</tab>
</backstage>
</customUI>
Run Code Online (Sandbox Code Playgroud)
这是此处描述的修改"另存为"对话框的确切基本情况.
在我的机器上,它在"另存为"下没有显示任何内容.但是,我确实在后台显示时调用了以下函数:
public void Backstage_OnShow(object contextObject) {
// It hits this method.
}
Run Code Online (Sandbox Code Playgroud)
UI无法显示的原因是什么,以及如何调试此处发生的事情?我尝试Show add-in user interface errors在"常规"部分的"Word选项"的"高级"选项卡中打开,但据我所知,它不会向我显示任何错误.
不确定它是否有帮助,但我们的功能区继承了IRibbonExtensibility.
我们还发现这种逻辑有时适用于某些机器而不适用于其他机器.我无法理解为什么......我可以告诉你的一件事是,这个插件的类型是注册的,regasm而不是使用path|vstolocalOutlook注册表下的注册表项安装的插件.换句话说,我们正在使用regasm安装插件.
编辑:我已经尝试了建议的答案,但鉴于这种方法,它仍然无法正常工作.我和我的团队在这一点上非常相信这是一个主要的VSTO错误,我们已经制作了一个展示它的项目.该项目展示了Windows 10 Pro 64位版本1607(操作系统版本14393.351)和32位Word 2016 16.0.7426.1009(Office 2016 32位版本1610,版本7466.2023)的后台错误:https://github.com/Murdoctor/WordAddin1
如果您在相同或类似的环境中运行此示例,您可以看到,如果单击Word顶部的"主页"选项卡,您将看到https://github.com/Murdoctor/WordAddin1/blob中定义的按钮/master/WordAddIn1/Ribbon1.xml,但是,如果你打开后台,你没有看到应该在信息选项卡之后插入的示例选项卡,TabInfo(这个截图是在调试模式下直接从Visual工作室,我可以看到addin已注册,所有内容也是如此):
您将看到的唯一的事情是这(这也证明了插件正在运行并注册到其本地VSTO文件):
编辑:这也会影响Office 64位.我刚刚安装了Word 2016 16.0.7426.1009(Office 2016 64位版本1610,版本7466.2023),认为更改为x64可能会有所帮助,但我仍然在我的计算机上遇到同样的问题.
编辑:这也影响今天发布的Windows 10 Pro x64版本1607,版本14393.447.此外,我已经尝试禁用所有其他插件,仍然是相同的事情.
这是 Office 的一个错误。我可以在我的环境中确认,使用昨天发布的11 月 8 日更新手动更新 Word 后,此操作再次有效。当我尝试在 Windows 10 中搜索更新时,此更新没有显示,我必须通过以下方式安装它:
在Word中,单击“文件”打开后台。
单击更新选项下拉菜单。
选择立即更新。
一旦您更新到 Office 版本 1610(内部版本 7466.2038),此错误就会消失: