【问题标题】:Ribbon XML: Custom Excel Tab Disappears with Addition of Menu功能区 XML:自定义 Excel 选项卡随着菜单的添加而消失
【发布时间】:2018-08-13 17:55:03
【问题描述】:

Heylo,我的自定义 Excel 选项卡遇到了一个令人沮丧的问题。我目前有大约 20 个按钮,它们都可以做各种不同的事情,我想实现一些菜单来稍微整理一下标签。我有一个带有一堆宏的加载项和一个嵌入的 customUI.xml 文件来组织所有按钮。

问题是,每当我尝试将我认为完美的菜单 xml 代码添加到 customUI.xml 文件中,并将其重新嵌入到加载项中时,当我重新加载 Excel 时,该选项卡就会停止显示。在我放入菜单之前,选项卡就在那里,一切都很好,但是当我添加菜单代码时,它就不想再出现了。下面是我正在尝试做的一个示例。

<customUI xmlns = "http://schemas.microsoft.com/office/2006/01/customui">
   <ribbon>
      <tabs>
         <tab id = "MyTab" label = "My Tab">
            <group id = "About" label = "About">
               <button id        = "Button1"
                       label     = "About My Tab"
                       size      = "large"
                       onAction  = "AboutMyTab"
                       imageMso  = "Help" 
                       screentip = "About My Tab"
                       supertip  = "Shows a dialog box that displays information about My Tab."
               />
            </group>
            <group id = "TestMenus" label = "My Test Menu">
               <menu id = "MyMenu" label = "The Menu">
                  <button id = "ButtonX" label = "X" size = "large" imageMso = "FileSave" />
                  <button id = "ButtonY" label = "Y" size = "large" imageMso = "Bold" />
                  <button id = "ButtonZ" label = "Z" size = "large" imageMso = "Undo" />
               </menu>
            </group>
         </tab>
      </tabs>
   </ribbon>
</customUI>

无论我是否将菜单嵌入到组中,它仍然会导致选项卡根本不显示。是我正在使用的架构吗?我对自己做错了什么感到困惑。另外,如果有任何帮助,我正在使用 Excel 2016。

提前感谢您的帮助。

【问题讨论】:

  • 对于初学者来说,如果它没有显示,这意味着某处有错误;)您的代码似乎很好 - 也许您在某处有重复的 ID?如果我遇到这样的问题,通常我会删除所有内容并逐个添加,以查明有问题的元素。
  • @PmDuda 哈哈,谢谢。这很奇怪,因为在我添加菜单之前,一切都处于完美的工作状态。而且我知道菜单 ID 不会引起问题,因为它是文件中唯一的一个,而且我的所有 id 都指向它们所引用的控件。我想我只需要照你说的做,然后分段构建,直到我希望找到错误。
  • 好的,我已经将其隔离为在菜单中添加按钮。如果我删除 ButtonX、ButtonY 和 ButtonZ 代码,则该组会显示为灰色的菜单...什么给出?
  • 顺便试试Ribbon XML Editor

标签: excel xml vba ribbonx


【解决方案1】:

您需要从菜单中的按钮中删除 Size 属性并将其添加到菜单本身:

<menu id = "MyMenu" label = "The Menu" itemSize = "large">
    <button id = "ButtonX" label = "X" imageMso = "FileSave" />
    <button id = "ButtonY" label = "Y" imageMso = "Bold" />
    <button id = "ButtonZ" label = "Z" imageMso = "Undo" />
</menu>

【讨论】:

  • 哦,快!就是这样。谢谢你。 :) 我知道它必须是小东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-01
  • 2020-07-22
  • 1970-01-01
  • 2013-08-03
  • 2020-08-14
  • 1970-01-01
  • 2020-09-02
相关资源
最近更新 更多