【问题标题】:How can I add new button to existing custom tab in Word doc using XML in Custom UI editor?如何在自定义 UI 编辑器中使用 XML 将新按钮添加到 Word 文档中的现有自定义选项卡?
【发布时间】:2018-02-22 15:59:40
【问题描述】:

我一直在更新我们在工作中使用的 Word 报告模板,并希望在其中嵌入一些宏。下载了 Word 的自定义 UI 编辑器后,我使用“插入/示例 XML/自定义选项卡”功能添加了一个自定义选项卡(想象中称为“宏”),上面有三个新按钮;然后我编辑了 XML,为每个按钮分配了不同的格式化宏。这很好用,我很满意。

但是我现在想在我的新标签中添加第四个按钮(和相应的宏)。在自定义 UI 编辑器中再次打开文档后,我发现当我尝试向现有的新选项卡添加第四个按钮时,我得到了另一个全新的选项卡(“Macros 2”,如果你愿意的话),其中包含原来的三个新按钮,第四个。所以我有两个同名的新标签,一个有三个按钮,一个有四个。

我做错了什么?如何改进我的工作方式/使用不同的 XML 来避免这个问题?

用于原始三个按钮的 XML 代码(全部同时创建)

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="customTab" label="Macros">
                <group id="customGroup" label="Formatting Macros">
                    <button id="customButton" label="Extract acronyms" imageMso="TextEffectShadowGallery" size="large" onAction="ExtractACRONYMSToNewDocument2" />
                    <button id="customButton2" label="Format sentence spacing" imageMso="TextEffectTracking" size="large" onAction="FormatSentenceSpacing" />
                    <button id="customButton3" label="Format current table" imageMso="TableSelectCell" size="large" onAction="FormatCurrentTableInHouseStyle" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

我用来尝试向功能区添加第四个按钮的代码(但它会创建一个全新的选项卡,而不是仅仅向现有的新功能区添加一个按钮)

<button id="customButton4" label="Format current table" imageMso="UseThisImage" size="large" onAction="FormatTableMacro" />

我试过了

  1. 将新按钮 XML 添加到自定义 UI 窗口中现有 XML 的底部(这会导致上述新选项卡问题),并且
  2. 从窗口中删除所有现有 XML 并仅输入新按钮的 XML(无效,仍然有一个全新的选项卡!)

【问题讨论】:

    标签: xml ms-word


    【解决方案1】:

    XML 对于什么可以在哪里有非常严格的规则: 层次结构非常重要。

    在功能区 XML 的情况下,所有内容都必须嵌套在 &lt;customUI&gt;&lt;ribbon&gt; 标记对中(并按此顺序)。因此,如果您尝试在这些“外部”放置其他内容,自定义 UI 编辑器会尝试将您从使用 XML 时遇到的错误中拯救出来,并为您创建一个新选项卡。 (酷,我不知道它会那样做!)

    按钮的层次结构非常低 - 因此它必须(至少)嵌套在 &lt;tabs&gt;&lt;tab&gt; 中。由于您正在对按钮进行分组,因此它也必须位于 &lt;group&gt; 标记对内。

    您可以编辑自定义 UI 编辑器向您显示的 XML。按照以下步骤创建第四个按钮:

    1. 在自定义 UI 编辑器中打开文档。
    2. 在关闭&lt;/group&gt; 标记之前单击现有 XML。
    3. 按 ENTER 创建新行。
    4. 将新的 XML 行放入该新行中。
    5. 保存并测试 :-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      相关资源
      最近更新 更多