Свойства объекта CommandBar
Методы объекта CommandBar
Рассмотрим наиболее часто используемые методы объекта CommandBar
| Метод | Описание | ||||||||
| Add | Создает новую панель инструментов. Синтаксис: Add (Name, Position, MenuBar, Temporary)
| ||||||||
| 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 | задает тип добавляемого элемента. Допустимые значения:
|
| q ID | целое число, идентифицирующее встроенный элемент управления. Если Id опущено или равно 1, то добавляется пустой элемент управления, тип которого задан параметром Type. |
| q Parameter | задает параметр, используемый встроенным элементом управления |
| q Before | индекс или имя элемента управления, перед которым добавляется новый элемент управления. Если этот параметр опущен, то новый элемент управления добавляется в конец панели инструментов или меню. |
| q Temporary | параметр, принимающий логическое значение. Если его значение равно True, то панель инструментов удаляется по закрытию Excel. |
Теперь рассмотрим основные свойства объекта CommandBarControl
| Свойство | Описание | ||||||||
| Сaption | Текст, отображаемый на кнопке или команде меню | ||||||||
| Enabled | Логическое свойство, которое определяет, доступен ли для пользователя элемент управления | ||||||||
| FaceID | Относится только к CommandBarButton. Возвращает номер встроенной кнопки. Значение 2950 соответствует пользовательской кнопке . | ||||||||
| OnAction | Возвращает или устанавливает имя программы (макроса), выполняемой при активизации элемента управления. | ||||||||
| Style | Относится только к CommandBarButton. Устанавливает внешний вид кнопки. Допустимые значения:
| ||||||||
| 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 = "Символ"
.