Программирование панели инструментов позволяет создавать для приложений пользователя собственный интерфейс, например, исключить из меню и панелей инструментов основного приложения кнопки и команды, не относящиеся к разрабатываемому пользователем приложению и добавить новые необходимые средства.
Объект CommandBar и семейство CommandBars используются для программирования строк меню и панелей инструментов. В семействе CommandBars хранятся все строки меню и панели инструментов конкретного приложения.
Семейство CommandBars содержится в объекте Application. Оно представляет собой панели команд. В свою очередь каждый объект CommandBar содержит семейство commandBarControls, состоящее из всех элементов управления данной панели инструментов. Свойство controls объекта CommandBar возвращает семейство CommandBarControls. Элементы семейства CommandBarControis относятся к одному из трех типов.
CommandBar But ton
Кнопка или элемент меню, вызывающий выполнение команды или подпрограммы
CommandBarComboBox
Сложно организованные меню, такие как поле ввода, раскрывающийся список или поле со списком
CommandBarPopUp
Меню или вложенное меню
На рис. 8.1 показана иерархическая схема объекта CommandBar.
Рис. 8.1. Иерархическая схема объекта CommandBar
Обсудим наиболее часто используемые методы и свойства объекта CommandBar. Начнем с его методов.
Add Delete
Создает новую панель команд и добавляет ее в семейство CommandBars
Синтаксис:
Add (Name, Position, MenuBar, Temporary)
· Name — имя создаваемой панели команд
· Position — определяет местоположение панели команд. Допустимые значения:
o msoBarLeft (привязка строки меню к левой границе окна основного приложения)
o msoBarTop (привязка строки меню к верхней границе окна основного приложения)
o msoBarRight (привязка строки меню к правой границе окна основного приложения)
o msoBarBottom (привязка строки меню к нижней границе окна основного приложения)
o msoBarFloating (свободное размещение строки меню на экране)
o msoBarPopup (устанавливает, будет ли панель команд контекстным меню)
· MenuBar — допустимые значения: True (панель команд заменяет активную строку меню) и False (в противном случае)
· Temporary — допустимые значения: True (панель команд удаляется при закрытии Excel) и False (в противном случае) Удаляет панель команд
ShowPopUp
Отображает контекстную панель команд в специфицированном местоположении, если указаны координаты, либо в месте расположения указателя, если они опущены.
Синтаксис:
ShowPopUp (х, у)
· х — х-координата панели команд
· у — у-координата панели команд
Reset
Восстанавливает в исходное состояние (по умолчанию) встроенную панель инструментов
Перейдем к обсуждению наиболее часто употребляемых свойств объекта CommandBar.
Enabled
Определяет возможность доступа к панели команд
Visible
Определяет, видима ли строка панели команд. Например, скрыть панель инструментов Форматирование (Formatting) можно с помощью следующей инструкции:
Application. CommandBars ("Formatting" ) .Visible = False
Отобразить все панели инструментов можно с помощью следующей инструкции:
Application. CommandBars .Visible = True
Controls
Возвращает семейство commandBarControis, состоящее из всех элементов управления конкретной панели инструментов
Position
Возвращает местоположение панели команд. Допустимые значения:
· msoBarLeft (привязка строки меню к левой границе окна основного приложения)
· msoBarTop (привязка строки меню к верхней границе окна основного приложения)
· msoBarRight (привязка строки меню к правой границе окна основного приложения)
· msoBarBottom (привязка строки меню к нижней границе окна основного приложения)
· msoBarFloating (свободное размещение строки меню на экране)
· msoBarPopup (устанавливает, будет ли панель команд контекстным меню)
Protection
Устанавливает защиту строки меню от изменений со стороны пользователя. Допустимые значения:
msoBarNoProtection, msoBarNoCustomize, msoBarNoResize, msoBarNoMove, msoBarNoChangeVisible, msoBarNoChangeDock, msoBarNoVerticalDock и msoBarNoHorizontalDock
Как отмечалось выше, в семействе CommandBars хранятся все строки меню и панели инструментов конкретного приложения. В табл. 8.1 приведены названия наиболее часто используемых встроенных панелей инструментов Excel.