Свойства объекта 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 = "Символ"