|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.9.7. Функции для организации взаимодействия с пользователем Функции для взаимодействия с пользователем в VBScript, функции MsgBox() и InputBox(), константы MsgBox(), метод WshShell.Popup(), команда Beep Во многих программах VBScript необходимо обеспечить взаимодействие с пользователем — проинформировать его о чем-то и, возможно, получить от него ответную реакцию. В принципе, для пользователя можно просто вывести текст в окне приложения (например, в текущем документе Word) или воспользоваться формой и элементами управления. Как это делается — мы узнаем в гл. 5, посвященной работе с формами и элементами управлениями, и в гл. 10—15, в которых речь пойдет об объектных моделях приложений Office. В этом разделе мы рассмотрим только применение для этой цели встроенных функций VBScript. Самой простой способ вывести информацию пользователю — воспользоваться встроенной функцией VBScript MsgBox(). Примеров применения этой функции в нашей книге уже было множество, а полный ее синтаксис выглядит так: MsgBox(Текст [, кнопки] [, заголовок_окна] [, файл_справки, метка_в_файле_справки]) Возможностей у MsgBox() достаточно много:
В зависимости от того, на какую кнопку нажал пользователь, функция возвращает соответствующее значение (всего 7 вариантов). Подробнее читайте в справке по VBScript. Пример возврата значения от MsgBox() может быть таким: Dim nVar nVar = MsgBox ("Будем делать?", vbInformation + vbOKCancel, _ "Демонстрационное окно сообщения") Если значение nVar равно 1, то пользователь нажал OK, если 2, то Отмена (Cancel). Иногда (например, при пакетной обработке данных) хотелось бы, чтобы окно сообщения через некоторое время закрывалось само собой. Это можно сделать при помощи метода Popup() объекта Wscript.Shell, например, при помощи следующего кода: Dim oShell oShell.Popup "Test", 5 В остальном функциональность получившего окна одинакова с MsgBox(). Код возврата, если пользователь не нажал ни на какую кнопку, равен -1. Самый простой способ принять информацию от пользователя — воспользоваться функцией InputBox(). Все очень просто: Dim InputName InputName = InputBox("Введите Ваше имя") MsgBox ("Вы ввели: " & InputName) Для InputBox() можно указать текст приглашения, заголовок окна, значение по умолчанию, местонахождение окна и файл справки. Не забывайте, что все вводимое пользователем InputBox() автоматически переводит в тип данных String, может потребоваться преобразование. Можно привлечь внимание пользователя звуковым сигналом. Для этой цели используется оператор Beep: Dim i For i = 1 To 3 Beep Next i Если нужно обеспечить более сложное взаимодействие с пользователем, можно подумать о применении формы, возможностей самого документа Office или помощника (Office Assistant). Очень мощные возможности обеспечивает и применение объектной модели Internet Explorer.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||