В MS Excel 2003 была добавлена надстройка, после чего появился тулбар класса MsoCommandBar с четырьмя кнопками. Нужно как-нибудь добиться одной из следующих вещей:
1) При открытии книги автоматически нажать третью слева кнопку (указал какую на случай если будет как-нибудь использован индекс).
Или
2) Назначить клавишу/сочетание клавиш для этой кнопки
Или
3) При открытии книги получить и сохранить в текстовый файл handle именно этой кнопки (Пробовал искать через Window Scanner, но нашел только handle всего тулбара)
Пожалуйста, по возможности постарайтесь ответить в течении суток.
Кнопка надстройки
Модератор: Naeel Maqsudov
- EducatedFool
- Сообщения: 197
- Зарегистрирован: 06 апр 2008, 14:03
- Откуда: Россия, Урал
- Контактная информация:
Код: Выделить всё
Private Sub [B]Workbook_Open[/B]()
Dim НужнаяКнопка As CommandBarButton
Set НужнаяКнопка = Application.CommandBars(1).Controls(Application.CommandBars(1).Controls.Count - 2) ' третья [B]справа[/B]
[B] Set НужнаяКнопка = Application.CommandBars(1).Controls(3)[/B] ' третья [B]слева[/B]
Application.[B]OnKey[/B] "^t", НужнаяКнопка.OnAction ' назначаем кнопке комбинацию Ctrl + T
НужнаяКнопка.[B]Execute[/B] ' нажимаем на кнопку
End Sub
Замените в коде CommandBars(1) на CommandBars(НомерВашейПанелиИнструментов)
или на CommandBars("ИмяВашейПанелиИнструментов")
(добавлено)
Если код расположен в модуле книги, то он работает только в таком виде:
(поскольку у объекта Workbook тоже есть свойство CommandBars)
Код: Выделить всё
Private Sub [B]Workbook_Open[/B]()
Dim НужнаяКнопка As CommandBarButton
Set НужнаяКнопка = [B][color="Red"]Application.[/color][/B]CommandBars(1).Controls(3) ' третья слева
Application.OnKey "^t", НужнаяКнопка.OnAction ' назначаем кнопке комбинацию Ctrl + T
НужнаяКнопка.Execute ' нажимаем на кнопку
End Sub
то всё работает и без Application...
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/
Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
Спасибо большое за ответ! Помогло.