Страница 1 из 1
EXCEL-rак получить копию элемента меню
Добавлено: 23 апр 2009, 10:20
anval
В главном меню EXCEL есть добавленный элемент меню (например, "ААА"). Как дописать в главное меню копию этого элемента под именем "ВВВ"?
Спасибо.
Re: EXCEL-rак получить копию элемента меню
Добавлено: 23 апр 2009, 15:39
Aent
а можно узнать зачем?
Re: EXCEL-rак получить копию элемента меню
Добавлено: 24 апр 2009, 08:47
anval
Можно. Меню "BBB" по структуре должно быть таким же, как и "ААА", другими должны быть имена макросов, вызываемые элементами этого меню. А т.к. структурное дерево этого меню достаточно объемное(более 100 позиций, структурированных по некоторым признакам), хочу съэкономить время на построении этой структуры(если смогу скопировать, просто подкорректирую имена макросов). Меню "ААА" создавалось средствами EXCEL, а не программно.
Re: EXCEL-rак получить копию элемента меню
Добавлено: 24 апр 2009, 16:13
Aent
Ну в принципе меню это объект
Application.CommandBar, соответственно его элемент - объект
CommandBarControl. Посмотрите их cвойства и методы.
В цикле по коллекции читаете свойства и зоздаёте новый элемент.
Но IMHO это муторно. Лучше (если структура меню у вас совпадает) добавить
кнопку или combobox для переключения между "виртуальными меню" и в его
обработчике менять для соответствующих элементов .Caption и .OnAction.
Или только .Caption а ветвление сделать в самом макросе обработчике
Hint: Обратите внимание на метод
Application.CommandBars.FindControls
Ещё раз обращаю внимание что
могут быть проблемы в EXCEL 2007 из за
изменения объектной модели офиса и перехода на Ribbon интерфейс
А вообще то
посмотрите
Re: EXCEL-rак получить копию элемента меню
Добавлено: 27 апр 2009, 14:26
anval
Aent, спасибо за ответ и на этот вопрос, буду разбираться.