каждая панель инструментов является отдельным объектом CommandBar.
Для работы с определенной панелью инструментов вам следует указать ее имя в коллекции CommandBars. Например, приведенный ниже фрагмент кода обращается к панели инструментов под названием VBA4Dummies:
Dim tbar As Toolbar
Set tbar = CommandBars("VBA4Dummies")
Отображение и размещение панелей инструментов
Для отображения или сокрытия панели инструментов предназначено свойство Visible. Приведенный ниже фрагмент кода отображает панель инструментов под названием VBA4 Dummies.
CommandBars("VBA4Dummies").Visible = True
Для сокрытия панели инструментов свойству Visible следует присвоить значение False.
Для переключения состояния отображения панели инструментов - отображения скрытой панели инструментов, и наоборот, следует использовать оператор Not (см. главу 11).
CommandBars("ReBar").Visible = _
Not (CommandBars("ReBar").Visible)
Если вы хотите изменить место расположения отображенной панели инструментов на экране, используйте такие ее свойства, как Position, RowIndex и Left. При необходимости используйте свойство Protection, чтобы исключить возможность перемещения панели инструментов пользователями. Подробные сведения о каждом из этих свойств приведены в следующей таблице.
Свойство | Назначение | Доступные настройки |
Position | Определение того, прикреплена ли панель задач, и если так, определяется сторона, к которой она прикреплена | MsoBarFloating (для неприкрепленной панели инструментов), msoBarTop, msoBarLeft, msoBarRight |
RowIndex | Определение порядка закрепления панели инструментов по отношению к другим панелям инструментов, прикрепленным к той же стороне | Целое число больше 0; msoBar RowFist или msoBar RowLast (длязакрепления панели инструментов первой или последней по порядку соответственно) |
Left | Определяет расстояние от левого края панели инструментов до левого края экрана | |
Protection | Определяет способ защиты панели инструментов от действий пользователей | msoBarNoProtection, msoBarNoCustoraize, msoBarNoResize. msoBarNoMove, msoBarNoChangeVisible, msoBarNoChangeDock, msoBarNoVerticalDock. msoBarNoHorizonalDock |
Настройка кнопок панелей инструментов
Вам не потребуется VBA для создания панели инструментов, содержащей необходимый для вашей работы набор кнопок, - мощные средства настройки методом drag-and-drop, представленные в любом приложении Office, с честью справляются с подобными задачами.
Но если вам необходимо изменить внешний вид панели инструментов или ее реакцию на действия пользователя буквально на лету вследствие возникновения определенных условий.
VBA - именно то, что вам нужно.
Например, предположим, что вам нужно создать кнопку, которая позволит немедленно отправлять копию открытого документа Word определенному человеку или только при работе с документом определенного типа. Кнопка должна срабатывать только в определенных условиях.
Если вы знаете, как написать VBA-код, который сможет определять тип открытого документа, все, что вам необходимо,-- это присвоить свойству Enabled значение True или False в той или иной ситуации.