2013-04-14 1 views
0

Примечание Следующая проблема была решена путем создания новой книги, копирующей все данные, макросы и другой код. Любое понимание того, что побуждает книгу «ломаться», приветствуется!Меню Excel/RibbonUI отключено

У меня есть файл excel с пользовательским ribbonui. Недавно я добавил новую группу с новым меню, которое было скопировано из первой группы, и некоторые элементы были удалены.

Первая группа «библиотека» и все ее элементы управления работают должным образом. Однако меню «documentmenu» в группе «document» выделено серым цветом, и я не могу понять, почему!

Я попытался добавить в меню getEnabled и обычный атрибут enabled, но он не будет стрелять, ни один из getEnabled событий для содержащихся в меню кнопок.

Когда я открываю ленту в первый раз, событие getLabel срабатывает и правильно устанавливает метку.

Я пробовал переименовать группу и все элементы управления на что-то без «документа», в любом случае, это как-то конфликтует, но опять же нет.

Кто-нибудь знает, что может быть причиной этого?

Ниже приведен весь XML-файл customui.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<customUI 
    onLoad="CustomUI.Ribbon_onLoad" 
    xmlns="http://schemas.microsoft.com/office/2009/07/customui"> 
    <ribbon> 
    <tabs> 
     <tab 
      id="Main" 
      label="Initech"> 
     <group 
      id="Library" 
      label="Library" 
      tag="Library" 
      centerVertically="true"> 
      <menu 
       id="LibraryMenu" 
       tag="Library" 
       image="gear" 
       getLabel="CustomUI.Menu_getLabel"> 
      <button 
       id="LibraryMenu_Open" 
       tag="Library" 
       label="Open Library" 
       imageMso="FileOpen" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <button 
       id="LibraryMenu_New" 
       tag="Library" 
       label="New Library" 
       imageMso="FileNew" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <menuSeparator 
       id="LibraryMenu_Separator0" /> 
      <button 
       id="LibraryMenu_Save" 
       tag="Library" 
       label="Save" 
       imageMso="FileSave" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <button 
       id="LibraryMenu_Close" 
       tag="Library" 
       label="Close" 
       imageMso="FileClose" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <button 
       id="LibraryMenu_Default" 
       tag="Library" 
       label="Set as Default" 
       imageMso="AcceptInvitation" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <menuSeparator 
       id="LibraryMenu_Separator1" /> 
      <button 
       id="LibraryMenu_Add" 
       tag="Library" 
       label="Add Component" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <button 
       id="LibraryMenu_Editor" 
       tag="Library" 
       label="Edit Menu" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      </menu> 
      <dynamicMenu 
       id="LibraryComponents" 
       tag="Library" 
       image="book_stack" 
       getLabel="CustomUI.Menu_getLabel" 
       getEnabled="CustomUI.Menu_getEnabled" 
       getContent="CustomUI.Menu_getContent" /> 
     </group> 
     <group 
      id="Document" 
      label="Document" 
      tag="Document" 
      centerVertically="true"> 
      <menu 
       id="DocumentMenu" 
       tag="Document" 
       imageMso="FileOpen" 
       getLabel="CustomUI.Menu_getLabel"> 
      <button 
       id="DocumentMenu_Open" 
       tag="Document" 
       label="Open Document" 
       imageMso="FileOpen" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <button 
       id="DocumentMenu_New" 
       tag="Document" 
       label="New Document" 
       imageMso="FileNew" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <menuSeparator 
       id="DocumentMenu_Separator0" /> 
      <button 
       id="DocumentMenu_Save" 
       tag="Document" 
       label="Save" 
       imageMso="FileSave" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      <button 
       id="DocumentMenu_Close" 
       tag="Document" 
       label="Close" 
       imageMso="FileClose" 
       getEnabled="CustomUI.Button_getEnabled" 
       onAction="CustomUI.Button_onAction" /> 
      </menu> 
     </group> 
     </tab> 
    </tabs> 
    </ribbon> 
</customUI> 

Обновление после часа игры о попытке выяснить, что происходит, оказывается, моя книга повреждена как некоторые. Код отлично работает, если я помещаю его в новую книгу.

ответ

0
  1. centerVertically недействительный объект. Просьба передать этот link

  2. getEnabled = "CustomUI.Button_getEnabled" & OnAction = "CustomUI.Button_onAction"
    Избегайте периода. в имени функции обратного вызова, так как мы не можем определить суб/функцию, такую ​​как CustomUI.Button_getEnabled.

3 При использовании атрибута getEnabled для кнопки вызывается функция обратного вызова, когда приложение должно определить разрешенное состояние кнопки.

sample code - getEnabled for ribbion

+0

centreVertically является допустимым атрибутом группы в схеме customui.14 http://msdn.microsoft.com/en-us/library/documentformat.openxml.office2010.customui.group.centervertically.aspx и период в моих подтипах работает, он позволяет мне указывать имя модуля, в котором находится дочерний объект. (это может быть специфично для VBA). – NickSlash

+0

@NickSlash Спасибо за информацию. – Santosh

Смежные вопросы