Чтение онлайн

на главную

Жанры

VBA для чайников

Каммингс Стив

Шрифт:

Свойство

Назначение

Доступные настройки

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 в той или иной ситуации.

Работа с определенными кнопками

Если вам необходимо настроить параметры определенной кнопки, вам необходимо идентифицировать эту кнопку в VBA-коде.

Вы можете указать кнопку одним из следующих способов.

* Используя индексный номер кнопке в коллекции Controls объектов панели инструментов, к которой она относится. Индексный номер кнопки соответствует ее расположению на панели инструментов; при этом кнопке, расположенной в крайнем левом (или в крайнем верхнем) углу, соответствует индексный номер 1. Ниже приведен пример подобного обращения к объекту:

CommandBars ("Bar None").Controls ( 3)

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

* Использование свойства Caption кнопки. Вы можете ввести любой заголовок, используя пользовательский интерфейс Office. Выберите команду Сервис=Настройка, перейдите на вкладку Команды появившегося диалогового окна Настройка. Щелкните на интересующей вас кнопке правой кнопкой мыши, чтобы увидеть имя кнопки. Следующая команда ссыпается на кнопку, свойство Caption которой равно "Угадай мой вес".

CommandBars("BarNone").Controls("Угадай мой вес")

Вы можете определить заголовок прямо в программном коде, но вам все равно придется указать кнопку одним из других способов.

* Используя метод FindControl коллекции CommandBars для обнаружения кнопки. Этот метод обнаруживает кнопки по нескольким критериям. Наиболее полезным оказывается использование свойства Tag.

Однако, чтобы оно сработало, вам сначала необходимо присвоить этому свойству уникальное значение, используя инструкцию, подобную приведенной ниже.

CommandBars ("Bar None").Controls (,,"Tag0l")

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

CommandBars.FindControl(, , "Tag0l")

В этом примере запятые относятся к необязательным параметрам метода FindControl, которые не потребуются вам при нахождении элементов управления (в нашем случае, кнопки) по свойству Tag.

В приведенной ниже таблице перечислены наиболее полезные свойства и методы, позволяющие настраивать кнопки панелей инструментов с помощью VBA.

Свойство или метод

Эффект

Доступные параметры (только для свойств)

Свойство Enabled

Определяет, включена ли кнопка и доступна ли она щелчком мышью либо она отключена, а значит, затемена

True или False

Свойство Visible

Определяет, видна ли кнопка

True или False

Свойство State

Определяет, кажется ли кнопка "нажатой"

MsoButtonUp (обычный вид кнопки); msoButtori Down (кнопка заблокирована в нажатом состоянии);

msoButtonMi xed (кнопка имеет вид "нажимаемой")

Метод CopyFace

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

Затем скройте эту панель инструментов. Когда придет время изменить изображение на "настоящей" кнопке, используйте метод Copy Face для копирования необходимого изображения с соответствующей кнопки на скрытой панели инструментов. Затем используйте метод Paste Face для вставки изображения на кнопку

Метод PasteFace

Размещение на кнопке изображения, уже помещенного в буфер обмена

Отображение пользовательских экранных подсказок для кнопок на панели инструментов

Экранные подсказки- это те небольшие сообщения желтого цвета, которые появляются на экране после подведения указателя мыши к определенному элементу на одну-две секунды.

Экранные подсказки для панелей инструментов должны быть включены, и по умолчанию это именно так. Если же это не так, выберите команду Сервис=Настройка, перейдите на вкладку Параметры, после чего установите флажок Отображать подсказки для кнопок.

По умолчанию экранная подсказка для кнопки содержит только ее имя. Однако, если вы не боитесь немного попрограммировать на VBA, вы сможете добавить текст к экранной подсказке, изменив ее свойство ToolTipText. Приведенный ниже программный код добавляет экранную подсказку для воображаемой кнопки в Excel:

Sub Этой_Кнопке_Нужна_Экранная подсказка!)

CommandBars("Mr. GoodBar").Controls ( 2).ToolTipText = _

"Форматирование ячейки: по центру, полужирный, денежный"

End Sub

Поделиться:
Популярные книги

Холодный ветер перемен

Иванов Дмитрий
7. Девяностые
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Холодный ветер перемен

Идеальный мир для Лекаря 13

Сапфир Олег
13. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 13

Восход. Солнцев. Книга I

Скабер Артемий
1. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга I

Стеллар. Заклинатель

Прокофьев Роман Юрьевич
3. Стеллар
Фантастика:
боевая фантастика
8.40
рейтинг книги
Стеллар. Заклинатель

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Темный Патриарх Светлого Рода 2

Лисицин Евгений
2. Темный Патриарх Светлого Рода
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 2

Корсар

Русич Антон
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
6.29
рейтинг книги
Корсар

Мимик нового Мира 8

Северный Лис
7. Мимик!
Фантастика:
юмористическая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 8

Рядовой. Назад в СССР. Книга 1

Гаусс Максим
1. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Рядовой. Назад в СССР. Книга 1

Третий. Том 2

INDIGO
2. Отпуск
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 2

Курсант: Назад в СССР 11

Дамиров Рафаэль
11. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 11

Правила Барби

Аллен Селина
4. Элита Нью-Йорка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Правила Барби

Его темная целительница

Крааш Кира
2. Любовь среди туманов
Фантастика:
фэнтези
5.75
рейтинг книги
Его темная целительница

Измена. Право на счастье

Вирго Софи
1. Чем закончится измена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на счастье