Язык визуального программирования приложений Visual Basic for Application

ПРОГРАММИРОВАНИЕ СРЕДСТВ ДЛЯ РАБОТЫ СО СПРАВОЧНОЙ ИНФОРМАЦИЕЙ

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

Структура помощника

Помощник программируется на VBA при помощи объекта Assistant. Структура объекта Assistant приведена на рис. 9.1. Важной особенностью объекта является то, что это единичный объект, не являющийся элементом никакого семейства объектов. В каждый момент времени можно вывести только одного помощника. Но помощника можно видоизменять по ходу работы программы. Объект Balloon представляет собой окно помощника, содержащее список разделов справки, связанных с помощником. В этот список могут входить надписи и флажки. Все надписи, входящие в объект Balloon, образует семейство BalloonLabeis, а все флажки - семейство BalloonCheckBoxes.

Рис. 9.1. Структура объекта Assistant

Типы помощника

Всего имеется 9 типов помощников. По умолчанию используется помощник с именем скрепыш (Clippit). Отображением помощника на экране управляет свойство Visible объекта Assistant. Свойство Filename объекта Assistant позволяет изменить вид помощника. А свойство Name возвращает имя текущего помощника.

Перечислим используемые в VBA типы помощников.

Внешний вид Название (рус.)
Скрепыш
Колобок
Робот
Ученый
Эмблема
Планета Земля
Кот
Пес-барбос


Свойства объекта Assistant

Перечислим основные свойства объекта Assistant.

Animation

Управляет движением помощника на экране. Допустимы 34 значения, программирующие разовые движения помощника, и 8 значений, задающих его непрерывные движения. Отметим, что некоторые анимационные эффекты не работают для всех персонажей, но использование их не приводит к ошибкам, просто помощник остается в покое, не производя предписанное действие. Приведем значения свойства Animation, задающие непрерывные действия помощника:

  • msoAnimationCheckingSomething
  • msoAnimationGetArtsy
  • msoAnimationGetTechy
  • msoAnimationSaving
  • msoAnimationSearching
  • msoAnimationThinking
  • msoAnimationWorkingAtSomething
  • msoAnimationWritingNotingSome thing
Приведем некоторые значения свойства Animation, задающие разовые действия помощника:
  • msoAnimationGestureDown
  • msoAnimationGestureLeft
  • msoAnimationGestureRight
  • msoAnimationGestureUp
  • msoAnimationGoodbye
  • msoAnimationGreeting
  • msoAnimationLookDown
  • msoAnimationLookDownLeft
  • msoAnimationLookDownRight
  • msoAnimationLookLeft
  • msoAnimationLookRight
  • msoAnimationLookUp
  • msoAnimationLookUpLeft
  • msoAnimationLookUpRight

AssistWithAlerts

Допустимые значения: True (автоматическое отображение справочной информации при возникновении ситуации, приводящей к отображению предупреждения, например при удалении рабочего листа) и False (в противном случае)

AssistWithHelp

Допустимые значения: True (отображается помощник со справкой, при нажатии клавиши <F1>) и False (в противном случае)

Filename

Возвращает полное имя файла (т. е. с указанием папки, где находится файл) для активного помощника. Имена файлов помощников имеют расширение act. Обычно Windows-файлы помощников располагаются В папке \Program Files\Microsoft Office\0ffiсе\Actors

GuessHelp

Допустимые значения: True (отображается помощник с наиболее подходящей справкой при нажатии клавиши <F1>) и False (в противном случае)

Sounds

Допустимые значения: True (помощник воспроизводит звуковой сигнал, соответствующий информационному сообщению) и False (в противном случае)

TipOfDay

Допустимые значения: True (помощник отображает сообщение при запуске приложения) и False (в противном случае)

Visible

Допустимые значения: True (помощник отображается на экране) и False (в противном случае)

 

Объект Balloon

Помощник выводит анимационную картинку, задаваемую типом помощника, и список разделов справки, выводимых в окне помощника. Содержание и вид окна помощника определяется объектом Balloon. Объект Balloon создается методом NewBalion объекта Assistant. Метод show отображает объект Balloon на экране.

Перечислим основные свойства объекта Balloon.

BalloonType

Задает тип надписей объекта Balloon. Допустимые значения:

  • msoBalloonTypeButtons
  • msoBalloonTypeBullets
  • msoBalloonTypeNumbers

Button

Устанавливает тип кнопок, отображаемых в окне помощника. Допустимые значения:

  • mpsoButtonSetAbortRetrylgnore
  • msoButtonSetBackClose
  • msoButtonSetBackNextClose
  • msoButtonSetBackNextSnooze
  • msoButtonSetCancel
  • rasoButtonSetNextClose
  • msoButtonSetNon
  • msoButtonSetOK
  • msoButtonSetOkCancel
  • msoButtonSetRetryCancel
  • msoButtonSetSearchClose
  • msoButtonSetTipsOptionsClose
  • msoButtonSetYesAllNoCancel
  • msoButtonSetYesNoCancel
  • msoButtonSetYesNo

Callback

Устанавливает имя процедуры, которая выполняется при отображении окна помощника

CheckBoxes

Возвращает семейство BallooncheckBoxes, флажки окна помощника

Heading

Возвращает заголовок окна помощника

Icon

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

  • msoIconAlert
  • msoIconNone
  • msoIconTip

Labels

Возвращает семейство BalloonLabels, все надписи окна помощника

Text

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

Приведем два примера программирования помощника.

В первом примере в окне помощника отображаются три надписи и два флажка (рис. 9.2). Надписи выводятся в виде нумерованного списка. Выбор надписей программой игнорируется. Зато установка флажка приводит к программному отклику. В данном случае в виде отображения диалогового окна с соответствующим сообщением. В качестве помощника выбран Скрепыш, который используется по умолчанию. Для Скрепыша установлена не прерывная анимация до тех пор, пока окно помощника отображается на экране.

Рис. 9.2. Первый пример окна помощника

Sub ПримерПомощника()

Set МойПомощник = Assistant.NewBalloon

Assistant.Animation = msoAnimationSearching

With МойПомощник

.BalloonType = msoBalloonTypeNumbers

.Heading = "Советы дня"

.Text = "Народные мудрости"

.Labels(1).Text = "Под лежачий камень вода не течет"

.Labels(2).Text = "Капля воды камень точит"

.Labels(3).Text = "Жизнь с VBA стала веселей"

.CheckBoxes(1).Text = "Жить - хорошо"

.Checkboxes(2).Text = "А хорошо жить - еще лучше"

. Show Select Case True

Case . CheckBoxes (1) .Checked

MsgBox "Выбрали хорошую жизнь" Case

.CheckBoxes(2).Checked

MsgBox "Выбрали лучшую жизнь"

End Select

End With

End Sub

Во втором примере в окне помощника отображаются три надписи с кнопками (рис. 9.2). Теперь нажатие кнопки у надписи будет вызывать программный отклик. В данном случае в виде отображения диалогового окна с соответствующим сообщением. Для Скрепыша установлена непрерывная анимация, отличная от первого примера.

Sub ПримерЕщеОдногоПомощника()

Dim Номер As Integer

Set МойПомощник = Assistant.NewBalloon

Assistant.Animation = msoAnimationSaving

With МойПомощник

.BalloonType = msoBalloonTypeButtons

.Heading = "Советы дня"

.Text = "Народные мудрости"

.Labels(1).Text = "Под лежачий камень вода не течет"

.Labels(2).Text = "Капля воды камень точит"

.Labels(3).Text = "Жизнь с VBA стала веселей" Номер = .Show Snd With

Select Case Номер Case Is = 1

MsgBox "Вывод: пора начать читать книгу по VBA"

Case Is = 2

MsgBox "Вывод: если приложить достаточно усилий," & Chr(13) &

"то можно разобраться с любой проблемой" Case Is = 3

MsgBox "Что верно, то верно. Excel с VBA - это мощь"

End Select

End Sub

Рис. 9.3. Второй пример окна помощника

к оглавлению   к 4GL - визуальному программированию

Знаете ли Вы, что, как ни тужатся релятивисты, CMB (космическое микроволновое излучение) - прямое доказательство существования эфира, системы абсолютного отсчета в космосе, и, следовательно, опровержение Пуанкаре-эйнштейновского релятивизма, утверждающего, что все ИСО равноправны, а эфира нет. Это фоновое излучение пространства имеет свою абсолютную систему отсчета, а значит никакого релятивизма быть не может. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution