Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2013, 00:11   #1
Bagir
Пользователь
 
Регистрация: 10.10.2012
Сообщений: 19
По умолчанию Хитрая кнопка на своей панели инструментов

Хочу поместить вот такую кнопку на свою панель инструментов. При клине по меню, я показываю только основные пункты. Ну а если нажму на кнопку, хочу чтобы были видны все.
Пока решил задачу используя msoControlPopup вместо той кнопки. Вот что в итоге получилось. Состряпал простенький пример. Работает, хоть и не без грешка. Зацените. Но все же хотелось бы кнопку как на скрине.
Изображения
Тип файла: jpg Меню.JPG (18.6 Кб, 85 просмотров)
Вложения
Тип файла: zip Пример Меню.zip (87.1 Кб, 11 просмотров)
Bagir вне форума Ответить с цитированием
Старый 24.01.2013, 01:28   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Bagir, возможности формирования панели инструментов при помощи VBA, достаточно ограничены.

Программно мы можем добавить на панель только элементы управления 5 типов:
Цитата:
' список допустимых элементов управления на пользовательской панели инструментов
  • msoControlButton
  • msoControlEdit
  • msoControlComboBox
  • msoControlDropdown
  • msoControlPopup
http://excelvba.ru/tools/CommandBar

Тут и половины того, что есть в стандартном интерфейсе Excel, не реализуешь.
А то, что вы просите, — это вообще из другой сферы
(появлением этой кнопки «заведует» сам Excel, — до этого программно точно никак не добраться)
EducatedFool вне форума Ответить с цитированием
Старый 24.01.2013, 10:42   #3
Bagir
Пользователь
 
Регистрация: 10.10.2012
Сообщений: 19
По умолчанию

Да, такова правда жизни Спасибо EducatedFool, что подтвердили мое предположение. Но все же прятать элементы своего меню хочется. Посмотрите пример, может что предложите? Ввиду того, что используется msoControlPopup вместо желанной кнопки, при наведении на него мышки справа открывается квадратик пустого меню. Если это побороть, то будет вполне съедобно.
Есть вариант использовать не msoControlPopup, а msoControlButton. Но при нажатии меню закроется. Можно в дальнейшем сразу его открыть с нужными элементами используя
Код:
.SetFocus
SendKeys "{DOWN}"
но тогда меню прыгает. А это тоже не красиво.
Bagir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание панели инструментов VBA Sv. Microsoft Office Excel 2 11.01.2013 23:10
Cоздание панели инструментов polo_dr Microsoft Office Excel 8 09.12.2011 14:48
Сохранение панели инструментов ofenod Microsoft Office Word 1 02.05.2011 18:31
Проверка наличия панели инструментов agregator Microsoft Office Excel 2 18.02.2010 10:44
Ограничения панели инструментов wnuks Microsoft Office Excel 5 01.07.2008 22:39