为什么不能通过customUI.xml

时间:2016-04-13 10:51:00

标签: ms-office powerpoint office-interop ribbon

我们正尝试通过加载项将第三方加载项控件放到自定义功能区上。

1)通过修改 PowerPoint.officeUI 进行自定义正在运行:

<mso:customUI
    xmlns:x1="ThirdPartyAddin"
    xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
    <mso:ribbon>
        <mso:qat/>
        <mso:tabs>
            <mso:tab id="my_new_tab" label="my_new_tab">
                <mso:group id="Test" label="New Group" autoScale="true">
                    <mso:gallery idQ="x1:TheirFunction1" visible="true"/>
                </mso:group>
            </mso:tab>
        </mso:tabs>
    </mso:ribbon>
</mso:customUI>

我们使用File&gt;提取了这个xml。选项&gt;功能区自定义并检查生成的PowerPoint.OfficeUI文件。

2)将以下内容放入我们从 IRibbonExtensibility.GetCustomUI 返回的加载项代码中,也称为RibbonXML:

<mso:customUI
    xmlns:x1="ThirdPartyAddin"
    xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
    <mso:ribbon>
        <mso:tabs>
            <mso:tab id="my_new_tab" label="my_new_tab">
                <mso:group id="Test" label="New Group" autoScale="true">
                    <mso:gallery idQ="x1:TheirFunction1" visible="true"/>
                </mso:group>
            </mso:tab>
        </mso:tabs>
    </mso:ribbon>
</mso:customUI>

注意:

  • 使用mso:gallery在PowerPoint中没有UI XML错误报告。
  • 我们已删除,因为无法以这种方式修改快速访问工具栏。
  • 而不是这里显示的画廊,我也尝试了一个按钮,在PowerPoint.officeUI中列为mso:control但我必须更改为mso:GetCustomUI的按钮,否则PowerPoint会抱怨&#34; 0x80004005自定义控件不能被指定为&lt;控制&gt;。 ID x1:theirFunction2
  • 需要控制类型

问题

该项目确实出现但无效。它有画廊的小箭头,但没有图标。

观察

  • 具有讽刺意味的是,可以右键单击它并将其添加到快速访问工具栏中,然后再次使用它。
  • 在加载GetCustomUI加载项的同时卸载第三方加载项将导致控件的次要更新

    see screenshot

相关文档

  • 根据Cindy的评论,我调查了&#34;控制&#34;更可取的是有一个非常相似的问题,不幸的是答案未经证实:Can controls be clone
  • 这也是&#34;控制&#34; MSDN

0 个答案:

没有答案