Шаг 85.
VBA в MSExcel. Программирование панели инструментов. Объект CommandBar и семейство CommandBars

    На этом шаге мы рассмотрим назначение, основные свойства и методы этих объектов.

    Программирование панели инструментов позволяет создавать для приложений пользователя собственный интерфейс, например, исключить из меню и панелей инструментов основного приложения кнопки и команды, не относящиеся к разрабатываемому пользователем приложению и добавить новые необходимые средства.

Объект CommandBar и семейство CommandBars

    Объект CommandBar и семейство CommandBars используются для программирования строк меню и панелей инструментов. В семействе CommandBars хранятся все строки меню и панели инструментов конкретного приложения.

    Семейство CommandBars содержится в объекте Application. Оно представляет собой панели команд. В свою очередь каждый объект CommandBar содержит семейство CommandBarControls, состоящее из всех элементов управления данной панели инструментов. Свойство Controls объекта CommandBar возвращает семейство CommandBarControls. Элементы семейства CommandBarControls относятся к одному из трех типов:

    На рисунке 1 показана иерархическая схема объекта CommandBar.


Рис.1. Иерархическая схема объекта CommandBar

    Перечислим наиболее часто используемые методы и свойства объекта CommandBar. Начнем с его методов.

Таблица 1. Методы CommandBar
Метод Назначение
Add Создает новую панель команд и добавляет ее в семейство CommandBars. Синтаксис:
  Add (Name, Position, MenuBar, Temporary)
  • Name — имя создаваемой панели команд;
  • Position — определяет местоположение панели команд. Допустимые значения:
    • msoBarLeft (привязка строки меню к левой границе окна основного приложения);
    • msoBarTop (привязка строки меню к верхней границе окна основного приложения);
    • msoBarRight (привязка строки меню к правой границе окна основного приложения);
    • msoBarBottom (привязка строки меню к нижней границе окна основного приложения);
    • msoBarFloating (свободное размещение строки меню на экране);
    • msoBarPopup (устанавливает, будет ли панель команд контекстным меню);
  • MenuBar — допустимые значения: True (панель команд заменяет активную строку меню) и False (в противном случае);
  • Temporary — допустимые значения: True (панель команд удаляется при закрытии Excel) и False (в противном случае).
Delete Удаляет панель команд
Reset Восстанавливает в исходное состояние (по умолчанию) встроенную панель инструментов
ShowPopUp Отображает контекстную панель команд в специфицированном местоположении, если указаны координаты, либо в месте расположения указателя, если они опущены. Синтаксис:
  ShowPopUp (х, у)
  • хх-координата панели команд;
  • уу-координата панели команд.

    Перечислим наиболее часто употребляемые свойства объекта CommandBar.

Таблица 2. Свойства CommandBar
Свойство Назначение
Enabled Определяет возможность доступа к панели команд
Visible Определяет, видима ли строка панели команд. Например, скрыть панель инструментов Форматирование (Formatting) можно с помощью следующей инструкции:
  Application.CommandBars ("Formatting").isible = False
Отобразить все панели инструментов можно с помощью следующей инструкции:
  Application.CommandBars.isible = True
Controls Возвращает семейство CommandBarControls, состоящее из всех элементов управления конкретной панели инструментов
Position Возвращает местоположение панели команд. Допустимые значения:
  • msoBarLeft (привязка строки меню к левой границе окна основного приложения);
  • msoBarTop (привязка строки меню к верхней границе окна основного приложения);
  • msoBarRight (привязка строки меню к правой границе окна основного приложения);
  • msoBarBottom (привязка строки меню к нижней границе окна основного приложения);
  • msoBarFloating (свободное размещение строки меню на экране);
  • msoBarPopup (устанавливает, будет ли панель команд контекстным меню).
Protection Устанавливает защиту строки меню от изменений со стороны пользователя. Допустимые значения: msoBarNoProtection, msoBarNoCustomize, msoBarNoResize, msoBarNoMove, msoBarNoChangeVisible, msoBarNoChangeDock, msoBarNoVerticalDock и msoBarNoHorizontalDock

    Как отмечалось в предыдущих шагах, в семействе CommandBars хранятся все строки меню и панели инструментов конкретного приложения. Ниже приведены названия наиболее часто используемых встроенных панелей инструментов Excel.

    На следующем шаге мы рассмотрим объект CommandBarControl.




Предыдущий шаг Содержание Следующий шаг