Возвращаемые значения Return values

6. Работа с окнами сообщений. Получение информации от пользователя. Отображение хода выполнения скрипта

Взаимодействие с пользователем из скрипта VBScript, встроенные функции MsgBox() и Inbox(), метод WshShell.Popup()

6.1 Окна сообщений

Самый простой способ обеспечения взаимодействия с пользователем из скрипта — применение окон сообщений.

Что обычно посылается:

  • информация (вроде объявлений, например, о технологических перерывах),
  • юридические предупреждения,
  • информация о действиях, которые выполняются скриптом на компьютере пользователя.

Очень часто окна сообщений используются в logon scripts .

Вывести окно сообщения можно разными способами. Самый простой способ — WScript . Echo , однако если вы используете для запуска скрипта CScript , то информация будет выведена в командной строке.

Наиболее рекомендуемый способ — функция MsgBox , больше всего возможностей. Всплывающее окно будет выведено, даже если в CScript был указан параметр // b ( batch mode ).

MsgBox » Test «

Еще один вариант — воспользоваться методом Popup объекта WScript . Shell :

set oShell = WScript.CreateObject (“WScript.Shell”)

oShell . Popup “ Test ”, 3

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

Возможностей у MsgBox достаточно много:

o можно отображать разное кол-во кнопок (OK, Cancel, Abort, Retry, Ignore, Yes, No),

o можно показывать символы Critical, Warning, Question, Information,

o можно выбирать кнопку по умолчанию,

o можно делать окно модальным или обычным.

В зависимости от того, на какую пользователь кнопку нажал, такое значение возвращается скрипту (всего 7 вариантов). Можно также подвязывать справку, которая откроется по F 1. Подробнее — VBScript help , MsgBox -> Function .

Пример возврата значения от MsgBox :

Dim MyVar

MyVar = MsgBox («Будем делать?», 65, «Демонстрационное окно сообщения»)

Если значение MyVar = 1, то пользователь нажал OK , если 2, то Cancel .

При использовании объекта WScript . Shell если пользователь не нажал ни на какую кнопку, то в этом случае переменной присваивается значение -1.

Если просто кнопками не обойтись, то в этом случае удобнее всего использовать функцию InputBox . Все очень просто:

Input = InputBox(«Enter your name»)

Источник



Функция MsgBox MsgBox function

Выводит сообщение в диалоговом окне, ожидает нажатия кнопки пользователем и возвращает значение типа Integer, которое указывает, какая кнопка была нажата. Displays a message in a dialog box, waits for the user to click a button, and returns an Integer indicating which button the user clicked.

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Interested in developing solutions that extend the Office experience across multiple platforms? Ознакомьтесь с новой моделью надстроек Office. Check out the new Office Add-ins model. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML. Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.

Синтаксис Syntax

MsgBox (сообщение, [ кнопки, ] [ заголовок, ] [ файл_справки, контекст ]) MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

Синтаксис функции MsgBox включает следующие именованные аргументы: The MsgBox function syntax has these named arguments:

Часть Part Описание Description
сообщение prompt Обязательный аргумент. Required. Строковое выражение, отображающееся в диалоговом окне. String expression displayed as the message in the dialog box. Максимальная длина строки аргумента сообщение составляет приблизительно 1024 знака и зависит от их ширины. The maximum length of prompt is approximately 1024 characters, depending on the width of the characters used. Если аргумент сообщение содержит несколько строк, их можно разделить с помощью знака возврата каретки (Chr(13)), знака перевода строки (Chr(10)) или сочетания этих знаков (Chr(13) & Chr(10)). If prompt consists of more than one line, you can separate the lines by using a carriage return character (Chr(13)), a linefeed character (Chr(10)), or carriage return — linefeed character combination (Chr(13) & Chr(10)) between each line.
кнопки buttons Необязательный аргумент. Optional. Числовое выражение, являющееся суммой значений, указывающих количество и тип отображаемых кнопок, стиля значков, выбранной по умолчанию кнопки и модальности окна сообщения. Numeric expression that is the sum of values specifying the number and type of buttons to display, the icon style to use, the identity of the default button, and the modality of the message box. Если аргумент кнопки пропущен, по умолчанию используется значение 0. If omitted, the default value for buttons is 0.
заголовок title Необязательный аргумент. Optional. Строковое выражение, отображаемое в заголовке диалогового окна. String expression displayed in the title bar of the dialog box. Если аргумент заголовок пропущен, в заголовке выводится имя приложения. If you omit title, the application name is placed in the title bar.
файл_справки helpfile Необязательный аргумент. Optional. Строковое выражение, определяющее файл, в котором содержится контекстная справка для данного диалогового окна. String expression that identifies the Help file to use to provide context-sensitive Help for the dialog box. Если задан аргумент файл_справки, необходимо также указать аргумент контекст. If helpfile is provided, context must also be provided.
контекст context Необязательный аргумент. Optional. Числовое выражение, представляющее собой номер контекста, присвоенный автором справки соответствующему разделу. Numeric expression that is the Help context number assigned to the appropriate Help topic by the Help author. Если задан аргумент контекст, необходимо также указать аргумент файл_справки. If context is provided, helpfile must also be provided.

Параметры Settings

Аргумент кнопки может принимать следующие значения: The buttons argument settings are:

Константа Constant Значение Value Описание Description
vbOKOnly vbOKOnly 0 0 Отображается только кнопка ОК. Display OK button only.
vbOKCancel vbOKCancel 1 1 Отображаются кнопки ОК и Отмена. Display OK and Cancel buttons.
vbAbortRetryIgnore vbAbortRetryIgnore 2 2 Отображаются кнопки Прервать, Повторить и Пропустить. Display Abort, Retry, and Ignore buttons.
vbYesNoCancel vbYesNoCancel 3 3 Отображаются кнопки Да, Нет и Отмена. Display Yes, No, and Cancel buttons.
vbYesNo vbYesNo 4 4 Отображаются кнопки Да и Нет. Display Yes and No buttons.
vbRetryCancel vbRetryCancel 5 5 Отображаются кнопки Повторить и Отмена. Display Retry and Cancel buttons.
vbCritical vbCritical 16 16 Отображается значок важного сообщения. Display Critical Message icon.
vbQuestion vbQuestion 32 32 Отображение значка Warning Query (Запрос с предупреждением). Display Warning Query icon.
vbExclamation vbExclamation 48 48 Отображение значка Warning Message (Сообщение с предупреждением). Display Warning Message icon.
vbInformation vbInformation 64 64 Отображается значок информационного сообщения. Display Information Message icon.
vbDefaultButton1 vbDefaultButton1 0 0 По умолчанию активна первая кнопка. First button is default.
vbDefaultButton2 vbDefaultButton2 256 256 По умолчанию активна вторая кнопка. Second button is default.
vbDefaultButton3 vbDefaultButton3 512 512 По умолчанию активна третья кнопка. Third button is default.
vbDefaultButton4 vbDefaultButton4 768 768 По умолчанию активна четвертая кнопка. Fourth button is default.
vbApplicationModal vbApplicationModal 0 0 Модальность на уровне приложения. Пользователь должен ответить на сообщение, чтобы продолжить работу в текущем приложении. Application modal; the user must respond to the message box before continuing work in the current application.
vbSystemModal vbSystemModal 4096 4096 Модальность на уровне системы. При ожидании ответа пользователя на сообщение приостанавливается работа всех приложений. System modal; all applications are suspended until the user responds to the message box.
vbMsgBoxHelpButton vbMsgBoxHelpButton 16384 16384 Добавляет кнопку Справка в окно сообщения. Adds Help button to the message box.
vbMsgBoxSetForeground vbMsgBoxSetForeground 65536 65536 Расположение окна сообщения на переднем плане. Specifies the message box window as the foreground window.
vbMsgBoxRight vbMsgBoxRight 524288 524288 Текст выравнивается по правому краю. Text is right-aligned.
vbMsgBoxRtlReading vbMsgBoxRtlReading 1048576 1048576 Система чтения справа налево для иврита и арабского языка. Specifies text should appear as right-to-left reading on Hebrew and Arabic systems.

Первая группа значений (0–5) отражает число и тип кнопок в диалоговом окне. Вторая группа (16, 32, 48, 64) описывает стиль значка сообщения. Третья группа (0, 256, 512) определяет активную по умолчанию кнопку. Наконец, четвертая группа (0, 4096) устанавливает модальность сообщения. The first group of values (0-5) describes the number and type of buttons displayed in the dialog box; the second group (16, 32, 48, 64) describes the icon style; the third group (0, 256, 512) determines which button is the default; and the fourth group (0, 4096) determines the modality of the message box. При добавлении чисел в итоговое значение аргумента кнопки следует использовать только один аргумент из каждой группы. When adding numbers to create a final value for the buttons argument, use only one number from each group.

Приведенные здесь константы определены в Visual Basic для приложений, These constants are specified by Visual Basic for Applications. что позволяет заменять ими числовые значения в любом месте программы. As a result, the names can be used anywhere in your code in place of the actual values.

Возвращаемые значения Return values

Константа Constant Значение Value Описание Description
vbOK vbOK 1 1 OK OK
vbCancel vbCancel 2 2 Отмена Cancel
vbAbort vbAbort 3 3 Прервать Abort
vbRetry vbRetry 4 4 Повторить Retry
vbIgnore vbIgnore 5 5 Пропустить Ignore
vbYes vbYes 6 6 Да Yes
vbNo vbNo 7 7 Нет No

Примечания Remarks

Если одновременно указаны аргументы файл_справки и контекст, пользователь может нажать клавишу F1 (Windows) или HELP (Macintosh) для просмотра раздела справки, соответствующего аргументу контекст. When both helpfile and context are provided, the user can press F1 (Windows) or HELP (Macintosh) to view the Help topic corresponding to the context. Некоторые ведущие приложения, например Microsoft Excel, автоматически добавляют кнопку Справка в диалоговое окно. Some host applications, for example, Microsoft Excel, also automatically add a Help button to the dialog box.

Если в диалоговом окне есть кнопка Отмена, ее нажатие равносильно нажатию клавиши ESC. If the dialog box displays a Cancel button, pressing the ESC key has the same effect as clicking Cancel. Если в диалоговом окне есть кнопка Справка, для него доступна контекстная справка. If the dialog box contains a Help button, context-sensitive Help is provided for the dialog box. Однако до нажатия какой-либо другой кнопки никакое значение не возвращается. However, no value is returned until one of the other buttons is clicked.

Для указания более одного именованного аргумента необходимо использовать функцию MsgBox в выражении. To specify more than the first named argument, you must use MsgBox in an expression. Чтобы пропустить некоторые из позиционных аргументов, нужно вставить соответствующие запятые. To omit some positional arguments, you must include the corresponding comma delimiter.

Пример Example

В приведенном ниже примере функция MsgBox используется для вывода сообщения о критической ошибке в диалоговом окне с кнопками Да и Нет. This example uses the MsgBox function to display a critical-error message in a dialog box with Yes and No buttons. Кнопка Нет выбрана по умолчанию. The No button is specified as the default response. Значение, возвращаемое функцией MsgBox, зависит от нажатой пользователем кнопки. The value returned by the MsgBox function depends on the button chosen by the user. Предполагается, что DEMO.HLP является файлом справки и содержит раздел под номером контекста 1000 . This example assumes that DEMO.HLP is a Help file that contains a topic with a Help context number equal to 1000 .

См. также See also

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Программирование на языке VBS. Работа с окнами сообщений и ввода данных

Освоение основ написания и выполнения программы на языке VBS.

1. Создание простейшей программы.

2. Синтаксис и примеры использования функции MsgBox.

3. Синтаксис и примеры использования функции InputBox.

Краткое изложение учебного материала по теме

1 Создание простейшей программы

Программа на языке Visual Basic Scripting Edition(VBS) состоит из инструкций языка (statement) в виде текстовых строк.

Несколько инструкций языка можно объединить в одну строку в тек- стовом файле программы с использованием разделителя строк – символа двоеточия ( 🙂 и наоборот, одну строку программы можно написать на не- скольких строках в тексте с использованием символа подчеркивания ( _).

В русском языке инструкции языка программирования обычно назы- вают операторами языка, хотя это не совсем точно: операторами в англий- ских первоисточниках называют символы для обозначения математиче- ских, логических и строковых операций (=, +, -, /, and, or, eqv, & и пр.). Да- лее будет использоваться традиционная русская терминология с использо- ванием слова операторы для обозначения инструкций языка.

Текст программы можно написать в любом простейшем редакторе, сохраняющем файлы в кодировке ASCII, например, в стандартных про- граммах Windows Блокнот или WordPad.

Существуют также специализированные редакторы, предназначен- ные для написания в них программ.

Далее воспользуемся редактором Блокнот, как наиболее доступным. Для создания простейшей программы делаем следующее:

1) запускаем Блокнот;

2) пишем в Блокноте строку: MsgBox «Привет!» (это имя функции с аргу- ментом – текстовым значением (константой) между апострофами; имя MsgBox – сокращение от английского выражения Message Box, которое дословно можно перевести, как «коробка сообщений», в системе Win- dows – окно сообщений;

3) сохраняем текстовый файл с именем Prg1.vbs;

4) двойным щелчком мыши запускаем файл на исполнение.

Результат работы этой программы – диалоговое окно в системе Win- dows (Windows-форма), показанное на рисунке 12.1.

Рисунок 12.1 – Пример работы простейшей программы на языке VBS, исполняемой системой Windows Based Script Host

2 Синтаксис и примеры использования функции MsgBox

При выполнении этой программы используется стандартная функция языка VBS для вывода сообщений в окно Windows со следующим полным

синтаксисом (здесь и далее в описании синтаксиса в квадратных скобках [ ]

приводятся необязательные элементы, элементы в скобках должны быть заменены конкретными значениями):

p – переменная, которой присваивается код нажатой кнопки;

Сообщение – аргумент функции, текст в диалоговом окне;

Кнопки и значок – стандартные переменные (приведены далее в таблице 1.1), определяющие кнопки, значок и номер кнопки по умолча- нию в окне (например, vbYesNoCancel + vbInformation + vbDe- faultButton3 или 3+64+512);

Заголовок окна – надпись на заголовке окна (например, «Мое первое окно»);

Справка, раздел – имя файла справки и идентификатор раздела, связан- ного с данным окном.

Аргументы функции следует писать в круглых скобках, если слева стоит переменная, которой присваивается значение, возвращаемое функ- цией, иначе аргументы следует писать за именем функции через пробел без скобок.

Дополним текст в файле Prg1.vbs указанными дополнительными па- раметрами (текст пишем в одну строку или используем знак под- черкивания _в конце первой строки для продолжения текста функции на следующей строке):

Кнопки, значок и номер кнопки по умолчанию

MsgBox «Привет!», vbYesNoCancel + vbInformation _

+ vbDefaultButton3, «Мое первое окно»,»tst.hlp»,1

Окно запущенной программы будет иметь вид, показанный на ри- сунке 1.3.

Рисунок 12.2 – Пример использования функции MsgBox

с заданием набора кнопок, иконки и раздела справки

Функция MsgBoxвозвращает значение нажатой в окне кнопки (например 6, если нажата кнопка Yes (Да), либо другие значения для кнопок vbNo, vbCancelи пр., см. далее таблицу 12.1).

Таблица 12.1 – Константы диалоговых окон

Константа Зна- че- ние Описание
vbOKOnly Показана только кнопка ОК
vbOKCancel Показаны кнопки ОК и Отмена (Cancel)
vbAbortRetryIgnore Показаны кнопки Стоп(Abort), Повтор (Retry) и Пропустить (Ignore)
vbYesNoCancel Показаны кнопки Да (Yes), Нет (No) и Отмена (Cancel)
vbYesNo Показаны кнопки Да (Yes) и Нет (No)
vbRetryCancel Показаны кнопки Повтор (Retry) и От- мена (Cancel)
vbCritical Показан значок Stop Mark (знак стоп)
vbQuestion Показан значок Question Mark (знак во- проса)
vbExclamation Выводится значок Exclamation Mark (восклицательный знак)
vbInformation Показан значок Information Mark (ин- формационнный знак)
vbDefaultButton1 По умолчанию в окне выбрана первая кнопка
vbDefaultButton2 По умолчанию в окне выбрана вторая кнопка
vbDefaultButton3 По умолчанию в окне выбрана третья кнопка
vbDefaultButton4 По умолчанию в окне выбрана четвёртая кнопка
vbSystemModal Диалоговое окно выводится в модальном режиме и располагается сверху всех дру- гих окон
vbOK Нажата кнопка ОК.
vbCancel Нажата кнопка Отмена (Cancel)
vbAbort Нажата кнопка Стоп (Abort)
vbRetry Нажата кнопка Повтор (Retry)
vbIgnore Нажата кнопка Пропустить (Ignore)
vbYes Нажата кнопка Да (Yes)
vbNo Нажата кнопка Нет (No)

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

btn = MsgBox(«Привет!», vbYesNoCancel + vbInformation _

+ vbDefaultButton3, «Мое первое окно»)

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

Если Вы желаете написать в окне Сообщение и Заголовок окна, про- пустив второй аргумент ( Кнопки и значок), после первого аргумента следу- ет поставить 2 ( ДВЕ!)запятые:

MsgBox «Сегодня я написал свою первую программу на VBS!» _

, , «Окно сообщений студента Вани Иванова»

Здесь 2 запятые, т. к. пропущен аргумент

3 Синтаксис и примеры использования функции InputBox

Еще одна функция языка, позволяющая открывать окно для ввода пользователем с клавиатуры строки текста (максимальная длина строки 256 символов):

где новые параметры функции (по сравнению с MsgBox):

p – переменная, которой присваивается значение, введенное в поле ввода окна InputBox;

Стр.умолч. – строковое значение в поле ввода, которое будет показано по умолчанию при открытии окна;

X, Y – координаты левого верхнего угла окна в единицах twips(1440 twips = 1 дюйм, 567 twips = 1 см) по отношению к левому верх- нему углу экрана; если координаты не указаны, окно выводится примерно в центре экрана.

Дополним программу вводом данных с клавиатуры в окне InputBox :

S = InputBox(vbLF & «Напишите строку текста:», _

Kod = MsgBox (S, vbYesNoCancel+vbInformation, _ «Окно сообщений. Студент Ваня Иванов»)

Здесь 2 запятые, т. к. пропущена

Функция InputBox в данном примере имеет строку , со- стоящую из двух частей: vbLF– константа языка VBS – код перехода на следующую строку, и текстового значения «Напишите строку текста:»;эти две части объединены в одну строку с использованием оператора конкате- нации &.

Сохраним текст, как новый файл Prg2.vbs, откроем его двойным щелчком мышкой и увидим окно функции InputBox(рисунок 12.3). В поле ввода этого окна напишем новый текст (длиной более 256 символов) и

нажмем кнопку , после чего появится окно, показанное на рисунке

12.4, в сообщении которого присутствует 256 символов значения перемен- ной S(если в первом окне нажать кнопку Отмена , сообщение в окне MsgBoxбудет отсутствовать).

Рисунок 12.3 – Пример использования функции InputBox

Рисунок 12.4 – Окно функции MsgBox

с показом текста, написанного в окне InputBox

В изложенном выше материале использовались такие осно- вополагающие понятия языка программирования, как строковые значения (символы между апострофами), стандартные константы окон и строковая константа vbLF– код перехода на новую строку, переменные ( btn, S, Kod), операции присваивания ( =) и конкатенации ( & – объединение двух выра- жений любого типа в одну строку), функции с параметрами ( MsgBox, InputBox).

Последующие лабораторные работы посвящены освоению использо- вания всех этих компонентов языка VBS.

Написать программу для варианта задания, соответствующего номе- ру Вашего компьютера. Выполнить программу, сохранить ее текст и скриншоты окон в отчете. Все окна должны иметь заголовки следующего вида: «Окно ввода (или сообщений) ».

1) Вывести в левый верхний угол экрана окно для ввода текстовой строки,

показать эту строку в окне сообщений с одной кнопкой и значком

Information Mark. Затем в окне сообщений показать код нажатой кноп- ки при выходе из предыдущего окна.

2) Вывести на расстоянии 10 см по горизонтали и вертикали от левого верхнего угла экрана окно для ввода текстовой строки, показать эту строку в окне сообщений с кнопками Да и Нет и значком Exclamation Mark. Затем в окне сообщений показать код нажатой кнопки при выхо- де из предыдущего окна. Определить коды нажатия для всех кнопок.

3) Вывести в центре экрана окно для ввода текстовой строки, показать эту строку в окне сообщений с кнопками Повтор и Отмена и значком Stop Mark. Затем в окне сообщений показать код нажатой кнопки при выхо- де из предыдущего окна. Определить коды нажатия для всех кнопок.

4) Вывести примерно в правом нижнем углу экрана окно для ввода тек- стовой строки, показать эту строку в окне сообщений с кнопками Стоп, Повтор и Пропустить и значком Question Mark. Затем в окне сообще- ний показать код нажатой кнопки при выходе из предыдущего окна. Определить коды нажатия для всех кнопок.

5) Вывести в центре экрана окно для ввода текстовой строки, показать эту

строку в окне сообщений с кнопками и Отмена и значком

Exclamation Mark. Затем в окне сообщений показать код нажатой кноп- ки при выходе из предыдущего окна. Определить коды нажатия для всех кнопок.

6) Вывести примерно в правом нижнем углу экрана окно для ввода тек- стовой строки, показать эту строку в окне сообщений с кнопками Да, Нет и Отмена и значком Question Mark. Затем в окне сообщений пока- зать код нажатой кнопки при выходе из предыдущего окна. Определить коды нажатия для всех кнопок.

7) Вывести на расстоянии 20 см по горизонтали и 15 см по вертикали от левого верхнего угла экрана окно для ввода текстовой строки, показать эту строку в окне сообщений с кнопками Стоп, Повтор и Пропустить и значком Information Mark. Затем в окне сообщений показать код нажа- той кнопки при выходе из предыдущего окна. Определить коды нажа- тия для всех кнопок.

8) Вывести примерно в правом верхнем углу экрана окно для ввода тек- стовой строки, показать эту строку в окне сообщений с кнопками Да, Нет и Отмена и значком Exclamation Mark. Затем в окне сообщений показать код нажатой кнопки при выходе из предыдущего окна. Опре- делить коды нажатия для всех кнопок.

9) Вывести слева примерно в центре по вертикали экрана окно для ввода текстовой строки, показать эту строку в окне сообщений с кнопками Стоп, Повтор и Пропустить и значком Question Mark. Затем в окне со- общений показать код нажатой кнопки при выходе из предыдущего ок- на. Определить коды нажатия для всех кнопок.

10) Вывести справа примерно в центре по вертикали экрана окно для ввода текстовой строки, показать эту строку в окне сообщений с кноп- ками Да и Нет и значком Information Mark. Затем в окне сообщений показать код нажатой кнопки при выходе из предыдущего окна. Опре- делить коды нажатия для всех кнопок.

Лабораторная работа № 13. Программирование на языке VBS. Типы данных. Константы. Переменные

Источник

Как создавать диалоговые окна в Windows?

Как создавать диалоговые окна с помощью VBScript? Всем привет, в этом уроке я вам покажу, как быстро создавать диалоговые окна в Windows, с помощью которых мы так часто подшучиваем над своими коллегами. Я представлю небольшой обзор команд с пояснениями для того, чтобы вы не просто копировали диалоговые окна с сайта, а смогли сами импровизировать, одновременно обучаясь. Это будет знакомый вам по предыдущим компьютерным приколам скриптовый язык VBScript, и всё, что нам как всегда понадобится, это простой Блокнот, который мы, после заполнения кода, будем сохранять в укромном месте с расширением .vbs.

VBScript – это простой язык программирования, исполняемый в системе сценарием Windows Script Host. Легко кодируется в Блокноте, а лучше в специальных текстовых редакторах с расширенными возможностями, как например, AkelPad или Notepad ++ (они, в отличие от встроенного Блокнота, понимают русскую кодировку; выберите Кириллицу – Windows-1251). Именно эта связка сценария и скрипта используется Windows для того, чтобы создавать диалоговые окна . Это гораздо проще, чем использовать такие языки как С и С ++. Однако подробное знакомство с VBScript задачей настоящей статьи не ставилось; здесь я лишь приведу ряд конкретных примеров того как создавать диалоговые окна с более-менее осмысленным для читающего содержанием и вариантами развития событий по результатам действий.

Как создавать диалоговые окна с ошибкой?

Итак, создадим простое диалоговое окно с двумя кнопками. И создадим окно с псевдоошибкой. Откроем текстовый редактор, и создадим сообщение, в котором:

Кавычки и скобки обязательны. Значок “+” позволяет использовать в одном скрипте множественные функции окна. В поле «содержание ошибки» вы можете написать любое сообщение, которое впоследствии прочитает пользователь. А в поле «автор ошибки» напишите того, кто это сообщение якобы пришлёт. Ими могут быть сама система Windows, или сосед по офису. А может быть директор или администратор. Решать опять же вам. Останавливаться не буду, идём дальше. Вот каким будут выглядеть диалоговые окна после того, как вы сохраните документ в формате .vbs.

Поле «5+16» приказывает системе создавать диалоговые окна с ярлыком критической ошибки и двумя кнопками. Это, как видно, кнопки «повтор» и «отмена». Но как вы уже поняли, можно создавать диалоговые окна и с другими настройкам, и всё это благодаря комбинации цифр или чисел. Это – числовые выражения постоянных, отвечающие за выводимые кнопки, значки и режимы окна. Подробнее смотрим ниже:

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

Диалоговые окна VBS: множество постоянных и переменных.

В простейшем написании скрипта именно знак “+” позволит применять сразу несколько параметров в одном скрипте. Например, для написания окна типа:

Просто повторите скрипт так:

Кстати, появление окна можно запустить по кругу, указав в скрипте команду на запуск его же по нажатию на любую из кнопок:

где скрипт.vbs и есть тот самый скрипт, лежащий, скажем, на Рабочем столе (C:\Users\1\Desktop\). При этом избавиться от окна можно будет только через Диспетчер задач. Скрипт может также содержать и какую-то другую одну или несколько команд. Например, пара вводимых переменных не просто создаст интерактивный диалог, но запустит программу. Например, браузер. Ну, или не запустит:

Источник

Vbscript окно сообщения да нет

Если честно, то я хотела дать эту тему позже, намного позже. Не потому, что она какая-то сложная, а просто чтобы не разбивать последовательность уроков по управляющим структурам. Но с другой стороны, выполнение тех заданий, которые мы с Dusk-ом решили для вас приготовить на сегодня, требует того, чтобы вы эту тему знали. Думаю, что не произойдет ничего из ряда вон выходящего, если мы разберем эту тему сегодня, вы с ее помощью сделаете задание на использование структуры if…else…, а после этого мы продолжим изучение управляющих структур.

Итак. Познакомимся с простейшими из диалоговых окон: с окнами сообщения и окнами ввода.

Иначе говоря- MessageBox. Выглядит примерно так:

Чтобы это окно появилось в вашей программе, можно вызвать с помощью функции MsgBox.
Синтаксис: (кто не знаком с условными обозначениями, скажем, что такие скобки [] обозначают необязательные параметры функции, они могут быть, а могут и не быть, функция будет работать и при их отсутствии.

MsgBox (prompt [, buttons] [, title] [, helpfile, context])

А сделать это можно двумя способами:

MsgBox “Народ, привет!” , vbYesNo+vbExclamation, “Окно сообщений”

Call MsgBox (“Народ, привет!” , vbYesNo+vbExclamation, “Окно сообщений”)

Чем эти строки отличаются друг от друга, разберем позже. Пока запомните- если вы заключаете параметры в скобки, обязательно в начале строки поставьте Call. Или такое выражение можно присвоить соответствующий переменной, но об этом опять же- позже. Что получится в данном случае: при соответствующем событии в обработку которого вы включите эту строку, будет вызвано окно сообщений в котором будет написано «Народ, привет!», будут кнопки Да, Нет, картинка с восклицательным знаком, а в строке заголовка над всей этой радостью будет написано «Окно сообщений».

Часто в диалоговом окне необходимо не только нажать кнопки выбора действия, но и ввести определенную информацию в программу. Для этого в VB можно использовать окно ввода информации InputBox .

InputBox (prompt [,title] [,default] [,xpos] [,ypos] [,helpfile, context])

В окне InputBox есть всегда только 2 кнопки управления:OK и Cancel.

* Сделайте так, чтобы ваша форма при запуске программы располагалась в середине экрана.
* расположите на форме кнопки Вниз, Вверх, Вправо, Влево, Выход.

Для первых двух уровней этой программы можно было использовать только те свойства, которые вы уже выучили на предыдущих уроках. Для третьего уровня вы должны познакомиться с функцией Round(). Она округляет до целого аргумент функции. Эта функция понадобится для выполнения задания третьего уровня сложности. Теперь- само задание 3-го уровня.

При изменении размеров формы должно происходить следующее:

Для этого вам понадобится :

функция Len()-она определяет длину строки. которая вводится как аргумент данной функции. Поскольку мы еще не учили свойства текстовых полей, Скажем, что вводится в текстовое поле ВСЕГДА имеет тип String, т.е. всегда является строкой, независимо от того буквы вы туда ввели или цифры. А получить строку, введенную в текстовое поле можно с помощью свойства Text. Например, если ваше текстовое поле называется txt, то длину введенной в него строки можно измерить с помощью функции Len() так:

* Расположите на форме 2 текстовых поля и 2 командные кнопки

Источник

Читайте также:  Solar или тонированный зеркальный стеклопакет

Related Post

Что показывает заголовок окнаЧто показывает заголовок окна

Заголовок окна и его назначение Из чего состоит окно Основные элементы окон одинаковы по функциональному назначению, поэтому рассмотрим для примера окно программы Мой компьютер. увеличить изображение Рис. 2.2. Структура окна

Как убрать ошибку сценария в WindowsКак убрать ошибку сценария в Windows

5 способов достать окно Windows, которое скрылось за пределами экрана Перезагрузка не поможет, ведь система запоминает положение окон. Обычно все ваши окна либо находятся перед вами, либо свёрнуты в панель

Маяки оставляют внутри штукатуркиМаяки оставляют внутри штукатурки

Можно ли открывать окна при шпаклевке стен? Отсутствие грунтовки Нанесение грунтовки на основание – важная процедура перед оштукатуриванием. Состав подбирают в зависимости от вида штукатурки и основания. Пористые поверхности обрабатывают

Adblock
detector