Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Панель инструментов в Vba

15K
11 января 2006 года
LyNX777
2 / / 11.01.2006
Здравствуйте! Подскажите пожалуйста. Нужно создать програмным путём (в Exel) свою панель инструментов, а на ней несколько менюшек и в каждой менюшке по несколько комманд. Как это реализовать?

Пробовал записать макрос и потом его код использовать, но макрос после записи выполняться отказывается.

Прям не знаю чего делать. Помогите, плиз.
275
11 января 2006 года
pashulka
985 / / 19.09.2004
Код:
With Application.CommandBars.Add _
     (Name:="Документы ...", Temporary:=True)
     With .Controls.Add(Type:=msoControlPopup)
          .Caption = "Архив"
          With .Controls
               With .Add(Type:=msoControlButton)
                    .FaceId = 444
                    .Caption = "Просмотр"
                    .OnAction = "Макрос1"
               End With
               With .Add(Type:=msoControlButton)
                    .FaceId = 23
                    .Caption = "Открыть"
                    .OnAction = "Макрос2"
               End With
          End With
     End With
     With .Controls.Add(Type:=msoControlPopup)
          .Caption = "База данных"
          With .Controls
               With .Add(Type:=msoControlButton)
                    .FaceId = 1643
                    .Caption = "Поставщики"
                    .OnAction = "Макрос3"
               End With
               With .Add(Type:=msoControlButton)
                    .FaceId = 52
                    .Caption = "Покупатели"
                    .OnAction = "Макрос4"
               End With
          End With
     End With
     .Visible = True
End With


Комментарий :
- Панель инструментов, созданная с использованием вышеопубликованного кода, будет автоматически удалена при закрытии MS Excel.
- Не забывайте, что панель инструментов обязательно должна иметь уникальное имя, и следовательно при попытке создать ещё одну панель, используя этот же макрос, Вы получите ошибку. Эту же ошибку можно получить, если после создания панели инструментов вручную и записи своих действий макрорекордером, не удаляя панель инструментов "запустить" только что созданный макрос.

Примечание :
- Подобную панель инструментов можно создать вручную, а затем просто вложить её в нужную рабочую книгу. Для этого в меню Вид выберите пункт Панели инструментов и команду Настройка. Затем нажмите кнопку Вложить и в списке Панели пользователей выделите нужную панель и нажмите кнопку Копировать. После чего нажмите кнопку OK и Закрыть. И не забудьте сохранить свою рабочую книгу.
После этого Вам останется только удалять свою панель инструментов перед закрытием книги. Для этого можно использовать событие Private Sub Auto_Close() которое можно расположить в любом стандартном модуле или событие Private Sub Workbook_BeforeClose(Cancel As Boolean) месторасположением которого является модуль ThisWorkbook/ЭтаКнига
Не забывайте, что вложить можно даже программно созданную панель инструментов, но только, если значение именованного аргумента Temporary:=False
15K
11 января 2006 года
LyNX777
2 / / 11.01.2006
Спасибо большое! То что нужно!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог