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
Вам необходимо выполнить эту процедуру всего один раз. Поскольку Office сохраняет новые экранные подсказки в шаблоне документа, с которым вы работаете, вы можете удалить процедуру в любое время.
Программирование Помощника по Office
В любом приложении из состава Microsoft Office Помощник по Office позволяет быстро находить необходимую справочную информацию или предлагает пошаговые инструкции для выполнения повседневных задач. Как вы и могли ожидать, для манипулирования Помощником с помощью VBA достаточно использовать объект Assistant.
Контроль над Помощником
Используйте свойства объекта Assistant (табл. 14.1) для контроля за тем, как и когда
Помощник по Office будет появляться на экране. Пока вы не уверены в том. что Помощник уже включен, убедитесь в том, что его свойство On имеет значение True, прежде чем пытаться включить его снова.
Таблица 14.1. Свойства объекта Assistant
Свойство
Функция
Допустимые значения
On
Определяет доступность Помощника по Office. Соответствует флажку Использовать помощника на вкладке Параметры диалогового окна Помощник
True или False
Visible
Определяет наличие Помощника на экране
True или False
FileName
Выбирает персонаж помощника, который будет представлен на экране: Срепыш, Мурка и т.д.
Допустимое имя файла с расширением .acs, заключенное в кавычки
Animation
Заставляет Помощника выполнять различные трюки. Вы можете указать, какие именно действия будет выполнять Помощник
Любая из доступных констант, определяющих конкретные движения, такие как msoAnimationGet Arsty. Для просмотра списка всех доступных констант выберите тип MsoAnimationType в библиотеке Office в окне обозревателя объектов
Программирование окна Помощника
Окно Помощника- это тот желтый прямоугольник, в котором Помощник предлагает вам возможные варианты действий. Хотя Office использует это окно практически исключительно для отображения справочной информации, вы сможете использовать VBA для создания собственных вариантов окна и заполнения его всевозможными сведениями, такими как котировки акций, процентные ставки банков и т.д.
Первый шаг к отображению пользовательского варианта окна Помощника состоит в создании нового объекта. Как это ни удивительно, но NewBaloon - это свойство, а не метод объекта Assistant. В любом случае, используйте инструкцию Set для создания объекта окна с помощью такого кода, как, например, приведен ниже.
Dim blnUpUpAndAway As Baloon
Set blnUpUpAndAway = Assistant.NewBaloon
После создания объекта balloon используйте перечисленные в табл. 14.2 свойства для определения его содержимого. В нашем случае используйте метод Show для отображения пользователю окна Помощника.
Таблица 14.2. Свойства объекта Balloon
Свойство
Для чего предназначено
Доступные параметры; заметки
Mode
Определяет, должен ли пользователь закрыть окно Помощника, чтобы продолжить работу с приложением
msoModeModeless (окно остается на экране до тех пор, пока не будет закрыто пользователем); msoModeModal (окно должно быть закрыто пользователем); msoModeAutoDown (окно закрывается после щелчка за его пределами)
BalloonType
Определяет, должны ли заголовки в окне быть 8 виде кнопок или же в виде нумерованного или маркированного списка
msoBalloonTypeButtons;
msoBalloonTypeNumbers;
msoBalloonTypeBullets
Icon
Указывает на один из доступных значков для окна Помощника
msoIconNone; msoIconTip; msoIconAlert
Heading
Определяет заголовок, отображаемый полужирным шрифтом в верхней части окна Помощника
Любое строковое значение
Text
Определяет "обычный" текст, который отображается после заголовка, но над любыми подписями, флажками или кнопками
Любое строковое значение
Labels
Указывает текст подписей в окне Помощника
Любое строковое значение
CheckBoxes
Указывает текст подписей к флажкам в окне Помощника
Указывает текст подписей в окне Помощника
Button
Определяет количество и тип кнопок, отображаемых в нижней части окна Помощника
Любая из констант msoButtonSetType, перечисленных в окне обозревателя объектов
Вы можете придать окну Помощника гораздо более привлекательный внешний вид, если добавите в него хотя бы одну картинку. Для отображения картинки вам следует присвоить свойству Icon значение, равное одной из констант, перечисленных в табл. 14.2. Для отображения картинки определите ее как часть текстовой строки, используемой для определения свойств Heading или Text объекта окна Помощника, либо одной из подписей, как показано в следующем примере:
blnUpUpAndAway.Text = "VBA! {bmp c:dummies.bmp}"
Как видно из этого примера, вы должны заключить имя файла с изображением и путь к нему в фигурные скобки. Сначала вам необходимо указать формат файла –bmp для формата .bmp или wmf для формата .wmf и только затем указыват путь к файлу и имя файла.
После того как созданное вами окно Помощника отображено на экране, вам обязательно потребуется убрать его с экрана. Если объект окна Помощника является модельным (его свойству Mode присвоено значение msoModeModal, что имеет место по умолчанию), окно будет закрыто после щелчка на любой из его кнопок. Если же это не так, вам необходимо использовать в своей процедуре метод Close для закрытия окна в результате наиболее вероятных действий со стороны пользователя - щелчка на кнопке ОК или на кнопке Отмена.
Работа с элементами управления окна
Точно так же как и в обычных формах VBA, элементы управления в окне Помощника предоставляют пользователю возможность взаимодействия с программой. Окно Помощника может содержать элементы управления трех типов: флажки, надписи (могут выступать в качестве кнопок) и кнопки (это кнопки, которые располагаются в нижней части окна Помощника).
Каждое окно Помощника содержит пять надписей и пять флажков. Однако, до тех пор пока вы не укажете текст для определенной надписи или флажка, соответствующий элемент управления просто не отображается в окне. Для изменения значения свойства Text надписи или флажка вам следует обратиться к нему по его номеру в соответствующей коллекции объектов, как показано ниже:
With blnUpUpAndAway
.Labels(2) = _
"Не забудьте приобрести молоко по пути домой."