Примечание Следующая проблема была решена путем создания новой книги, копирующей все данные, макросы и другой код. Любое понимание того, что побуждает книгу «ломаться», приветствуется!Меню 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>
Обновление после часа игры о попытке выяснить, что происходит, оказывается, моя книга повреждена как некоторые. Код отлично работает, если я помещаю его в новую книгу.
centreVertically является допустимым атрибутом группы в схеме customui.14 http://msdn.microsoft.com/en-us/library/documentformat.openxml.office2010.customui.group.centervertically.aspx и период в моих подтипах работает, он позволяет мне указывать имя модуля, в котором находится дочерний объект. (это может быть специфично для VBA). – NickSlash
@NickSlash Спасибо за информацию. – Santosh