Хорошо задокументировано, как можно перераспределить встроенные ленточные кнопки в Microsoft Office ( здесь, например, ), например. кнопка Копировать. Однако я не знаю ни одного способа получить полный контроль над включенным состоянием перепрофилированных встроенных элементов управления. Для меня это создает проблему, поскольку я хотел бы реализовать некоторые расширенные функциональные возможности в Excel и PowerPoint, для которых в некоторых случаях кнопки выравнивания имеют смысл. Но они отключены Excel / PowerPoint, поэтому их переназначение не работает.
Отключение встроенной кнопки, которая будет включена по умолчанию, не является проблемой. Кажется, определение обратного вызова getEnabled для встроенной кнопки решает проблему - проблема решена.
Но как включить встроенную кнопку ленты, которая будет отключена по умолчанию? (getEnabled здесь не помогает)
Я подозреваю, что не существует "VBA / VSTO way" для выполнения задачи? Как вы думаете, было бы возможно с помощью COM, например, через IAccessible? До сих пор я нашел только способы перечислять, выбирать и вызывать команды кнопок, но не изменять их состояние.