Работа с помощником Работа с помощником в VBA, объекты Assistant и Balloon

          Назад



7. Работа с помощником


Применение помощника в Office для взаимодействия с пользователем, объекты Assistant и Balloon в VBA

Для того, чтобы вывести пользователю какую-либо информацию, в Office необязательно применять возможности форм с элементами управления или вызывать функцию MsgBox(). В приложения Office встроен помощник — то анимированное изображение скрепки, щенка или котенка, которое пользователи чаще всего отключают. Однако применение его может быть очень удобным, особенно учитывая немодальность этого окна (то есть пользователи могут продолжать работать в то время, когда помощник выводит им какие-то подсказки). Для работы с помощником используются два объекта — Assistant и Balloon. Assistant — это сам помощник, а Balloon — это окно рядом с ним, в которое выводятся ваши сообщения (см. рис. 7.1)

Рис. 7.1 Вам помогает Бобик (английский псевдоним — Rocky)

Пример работы с Assistant из программы на VBA может выглядеть так:

Assistant.On = True

Assistant.Visible = True

Assistant.Animation = msoAnimationThinking

Первая команда включает помощника (на случай, если он отключен), вторая — делает его видимым, третья — заставляет его "думать" (то есть вызывает подходящий мультик). Вот перечень наиболее важных свойств и методов объекта Assistant:

  • Animation — как видно из нашего примера, это свойство позволяет запустить "мультик" для нашего героя (думать, искать, отправлять почту, что-то делать и т.п.). По окончании мультика он останется в положении, определяемом этим свойством. Если какое-то действие для вашего героя не определено, ошибки не возникнет — оно просто будет проигнорировано.
  • FeatureTips — это свойство переводит помощника в автоматический режим работы, заставляя его подсказывать вам более эффективные (по мнению разработчиков Office) пути выполнения различных операций;
  • FileName — при помощи этого свойства вы можете выбрать помощника. По умолчанию выбирается щенок Rocky. Можно воспользоваться и другими помощниками — любым из семи, которые находятся в стандартной поставке Office или сотнями других, которых можно найти в Интернете (но тогда их нужно будет предварительно скопировать в каталог к другим файлам помощников с расширением *.acs). Например, чтобы вызвать вместо щенка котенка, можно использовать код вида:

Assistant.FileName = "Offcat.acs"

  • GuessHelp — при включении этого свойства помощник начинает выводить список тем справки, которые, по его мнению, могут пригодится пользователю;
  • KeyboardShortcutTips — помощник будет выводить информацию о клавиатурных комбинациях, которые могут быть использованы для выполнения различных действий;
  • Left — помощник "перепрыгнет" налево;
  • MoveWhenInTheWay — помощник автоматически будет уходить в сторону, если пользователь что-то делает на том месте, где он должен был находиться;
  • NewBalloon — это свойство автоматически возвращает новый объект Balloon (то есть окно, в котором будет выводиться ваш текст для пользователя). Собственно говоря, его можно вообще не создавать, а воспользоваться конструкцией вида:

Assistant.NewBalloon.Heading = "У этого сотрудника фамилии не будет?"

а можно и создать:

Dim Bal1

Set Bal1 = Assistant.NewBalloon

Но в любом случае, чтобы Balloon (дословно — пузырь) был виден, необходимо вызвать его метод Show():

Bal1.Show

  • On — это свойство, как видно из нашего примера, включает помощника, если он отключен (или отключает, если в нем отпала необходимость);
  • Reduced — уменьшить размер помощника;
  • SearchWhenProgramming — будет ли помощник помогать во время работы редактора VBA;
  • Sounds — включение/отключение звуковых эффектов;
  • TipOfDay — помощник будет выдавать какой-нибудь совет из специального набора всякий раз при запуске приложения Office;
  • Top — высота (то есть расстояние от верхнего края экрана) местонахождения помощника;
  • Visible — показать/спрятать помощника.

При помощи методов помощника вы можете вызвать стандартное окно для поиска о справке (Help()), запустить мастера получения ответов (StartWizard()), переместить помощника в другое место (Move()) и т.п.

После того, как вы создали и настроили помощника, следующий этап — работа с объектом Balloon, то есть с "пузырем", отображающим текст вашего сообщения. Как он создается, мы уже видели. Теперь — о его основных свойствах:

  • BalloonType — определяет тип пузыря, может использоваться одно из трех значений констант. При помощи него определяется, будет ли баллон содержать набор кнопок, нумерованный список или маркированный список;
  • Button — позволяет выбрать набор кнопок в нижней части пузыря;
  • Callback — возможность привязать к пузырю процедуру, которую пользователь сможет из него запустить;
  • Checkboxes — возможность разместить в пузыре переключатели;
  • Heading — заголовок пузыря. При этом в заголовок можно поместить также изображение или выбрать цвет шрифта;
  • Icon — возможность разместить иконку в верхнем левом углу пузыря;
  • Labels — возможность привязать метки к кнопкам или элементам списков;
  • Mode — режим работы баллона. В вашем распоряжении значения:
    • msoModeModal (по умолчанию) — пользователю придется закрыть пузырь, прежде чем он сможет продолжить работу с приложением;
    • msoModeModeless — пользователь сможет продолжить работу в приложении, не реагируя на пузырь;
    • msoModeAutoDown — пользователь должен будет щелкнуть мышью по любому месту в приложении, чтобы пузырь пропал.
  • Text — возможность определить, что будет выводить пользователю пузырь. Помимо обычного текста, можно также выводить изображения и менять цвет шрифта.

Если при помощи кнопки Button мы определили специальный набор кнопок, то, скорее всего, нам потребуется получить информацию о том, на какую кнопку нажал пользователь. Делается это очень просто:

intButton = Bal1.Show

или напрямую

Select Case Bal1.Show

Еще раз скажем, что ограничиваться только теми помощниками, которые идут в стандартной поставке Microsoft Office, совершенно необязательно. Вы можете установить на радость себе и окружающим множество альтернативных помощников, которые в большом количестве водятся в Интернете. Например, несколько сотен помощников можно бесплатно скачать с сайта www.agentry.net.




Далее