Семейство CommandBarControls и объект CommandBarControl

Свойства объекта CommandBar

Методы объекта CommandBar

Рассмотрим наиболее часто используемые методы объекта CommandBar

Метод Описание
Add Создает новую панель инструментов. Синтаксис: Add (Name, Position, MenuBar, Temporary)
q Name имя создаваемой панели
q Position определяет местоположение панели инструментов. Значения:
  • msoBarTop(привязка строки меню к верхней границе окна основного приложения),
  • msoBarLeft(привязка строки меню к левой границе окна основного приложения),
  • msoBarRight(привязка строки меню к правой границе окна основного приложения),
  • msoBarBottom(привязка строки меню к нижней границе окна основного приложения),
  • msoBarFloating(свободное размещение строки меню на экране)
q MenuBar параметр, принимающий логическое значение. Если его значение равно True, то панель инструментов заменяет активную строку меню.
q Temporary параметр, принимающий логическое значение. Если его значение равно True, то панель инструментов удаляется по закрытию Excel.
Delete Удаляет панель инструментов
Reset Возвращает встроенную панель инструментов в исходное состояние (по умолчанию)
Свойство Описание
Enabled Определяет возможность доступа к панели инструментов
Visible Определяет, видима ли панель инструментов. Следующая команда отключает панель инструментов Форматирование: Application.CommandBars(“Formatting”).Visible = True
Controls Возвращает семейство CommandBarControls

В программе указываются английские названия встроенных панелей инструментов и строки меню. Ниже приведены названия некоторых панелей инструментов. Обратите внимание на название меню рабочего листа, которое Вы видите на экране под строкой заголовка Excel (равно как и панели инструментов Стандартная и Форматирование).

Название (англ.) Название (рус.)
Formatting Форматирование
Standart Стандартная
Visual Basic Visual Basic
Drawing Рисование
Worksheet Menu Bar Строка меню листа

Семейство CommandBarControls содержит все элементы конкретной панели инструментов или меню. Важнейшим методом этого семейства является метод Add, с помощью которого создается новый элемент панели инструментов или меню.

Синтаксис метода Add:

Add (Type, ID, Parameter, Before, Temporary)

q Type задает тип добавляемого элемента. Допустимые значения:
  • msoControlButton –кнопка или элемент меню,
  • msoControlEdit – поле ввода,
  • msoControlDropDown – раскрывающийся список,
  • msoControlСomboBox –комбинированное поле
  • msoControlPopup – вложенное меню.
q ID целое число, идентифицирующее встроенный элемент управления. Если Id опущено или равно 1, то добавляется пустой элемент управления, тип которого задан параметром Type.
q Parameter задает параметр, используемый встроенным элементом управления
q Before индекс или имя элемента управления, перед которым добавляется новый элемент управления. Если этот параметр опущен, то новый элемент управления добавляется в конец панели инструментов или меню.
q Temporary параметр, принимающий логическое значение. Если его значение равно True, то панель инструментов удаляется по закрытию Excel.

Теперь рассмотрим основные свойства объекта CommandBarControl

Свойство Описание
Сaption Текст, отображаемый на кнопке или команде меню
Enabled Логическое свойство, которое определяет, доступен ли для пользователя элемент управления
FaceID Относится только к CommandBarButton. Возвращает номер встроенной кнопки. Значение 2950 соответствует пользовательской кнопке .
OnAction Возвращает или устанавливает имя программы (макроса), выполняемой при активизации элемента управления.
Style Относится только к CommandBarButton. Устанавливает внешний вид кнопки. Допустимые значения:
q msoButtonAutomatic кнопка нет ни текста, ни рисунка
q msoButtonIcon на кнопке есть рисунок. В этом случае надо задать свойство Icon.
q msoButtonCaption на кнопке есть надпись. В этом случае надо задать свойство Caption.
q msoButtonIconandCaption на кнопке есть рисунок и надпись. В этом случае надо задать оба свойства: Icon и Caption.
TooltipText Текст, отображаемый на всплывающей подсказке.
Visible Определяет, видима ли кнопка или команда меню.

Основные методы CommandBarButton

Метод Описание
CopyFace Копирует изображение на кнопки в буфер обмена.
PasteFace Вставляет изображение из буфера на кнопку.

С помощью метода PasteFace можно помещать на кнопку простенькие рисунки, сделанные с помощью инструментов Рисование, или надписи, сделанные в WordArt. Для этого:

1) включите макрорекордер,

2) воспользовавшись панелью инструментов Рисование или WordArt, создайте графический объект,

3) вырежьте его в буфер обмена,

4) остановите макрорекордер,

5) в редакторе VBA вырежьте нужный фрагмент кода и вставьте в свою программу.

12.12.4. Пример создания/удаления панели инструментов

Рассмотрим пример создания пользовательской панели инструментов Вставка знака с одной кнопкой, на которой расположен рисунок и надпись «Плюс в кружочке» (Рис. 12‑24).

Рис. 12‑24. Панель инструментов с кнопкой Плюс в кружочке

Листинг программы:

Sub СозданиеПанелиИнструментов()

Dim PlusButton As CommandBarButton

Dim MyBar As CommandBar

'1. Создаем панель инструментов:

Set MyBar = Application.CommandBars.Add

With MyBar

. Visible = True'панель инструментов видна на экране

. Name = "Вставка знака" 'имя новой панели инструментов

. Position = msoBarTop 'расположена в верхнем углу

End With

'2. Создаем рисунок и вырезаем его в буфер обмена (этот _

фрагмент кода был предварительно записан макрорекордером):

ActiveSheet.Shapes.AddShape(msoShapeFlowchartOr, _

337.5, 77.25, 94.5, 94.5).Select

Selection.ShapeRange.Line.Weight = 6#

Selection.ShapeRange.Line.Visible = msoTrue

Selection.ShapeRange.Line.Style = msoLineSingle

Selection.Cut '- вырезаем рисунок в буфер обмена

'3. Добавляем кнопку на панель инструментов «Вставка знака»:

Set PlusButton = MyBar.Controls.Add(Type:=msoControlButton)

'На кнопке должен быть рисунок и надпись:

PlusButton. Style = msoButtonIconAndCaption

'Текст надписи:

PlusButton. Caption = "Плюс в кружочке"

'Вставляем рисунок:

PlusButton. PasteFace

'Кнопка доступна пользователю:

PlusButton. Enabled = True

'При щелчке по кнопке выполняется процедура Символ:

PlusButton. OnAction = "Символ"


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: