Диалоговые окна InputBox и MsgBox




ОСНОВНЫЕ ПОЛОЖЕНИЯ.

1. Условный оператор (If…Then…Else…End If)

Условный оператор позволяет выбирать и выполнять действия в зависимости от истинности некоторого условия.

Синтаксис: условный оператор имеет два варианта синтаксиса:

a) однострочная форма записи условного оператора:

If <условие> Then [<операторы 1>] [ Else [<операторы 2>]];

б) блочная форма записи условного оператора:

If <условие 1> Then

[<операторы 1>]

...

[ ElseIf <условие n> Then

[<операторы n> ]…

[ Else ]

[< ИначеОператоры >]]

End If

 
 

Порядок выполнения: вычисляется значение <условие>. Оно может принимать значения TRUE (Истина)или FALSE (Ложь). Если <условие> принимает значение TRUE, то выполняются [< операторы 1 >] (операторы ветки Then), в противном случае – [ <операторы 2> ] (операторы ветки Else).

Изображение на блок – схеме:

Организация ввода-вывода

Ввод и вывод данных в VBA может выполняться следующими способами:

o с рабочего листа Excel,

o с помощью диалоговых окон InputBox и MsgBox,

o с помощью пользовательской формы UserForm.

Ввод-вывод данных с листа Excel

Для ввода данных с листа или вывода на лист используется объект Worksheets и его методы Range или Cells.

Метод Range использует в качестве аргументов одну или две ссылки на ячейки и возвращают объект Range. Ссылки на ячейки должны быть оформлены в стиле А1 (колонка-буква-строка-число). Ссылка на единичную ячейку, использованная в качестве аргумента, возвращает объект Range для единичной ячейки. Две ссылки на единичные ячейки возвращают объект Range для прямоугольной области, заключенной между этими двумя ячейками. Примеры использования метода Range:

X = Worksheets(“Лист1”).Range(“B1”).Value Присваиваем переменной Х значение ячейки B1 листа Лист1.
Worksheets(“Лист1”).Range(“B1”).Value = Х Выводим в ячейку B1 листа ист1 значение переменной Х
Worksheets(“Лист1”).Range(“C1”,”D6”).Value = 2 Выводим в ячейки C1 и D6 листа Лист1 число 2
Worksheets(“Лист1”).Range(“В7:С9”).Value = 3 Выводим в диапазон ячеек “В7:С9” листа Лист1 число 3

Метод Cells, получая в качестве аргументов два целых числа, возвращают объект, содержащий единичную ячейку. Аргументы определяют номера строки и столбца выбранной ячейки. Примеры использования метода Cells:

A=Worksheets(1).Cells(1,2).Value Переменной А присвоено значение из ячейки первой строки и второго столбца первого листа.
Worksheets(1).Cells(2,2).Value= Х В ячейку второй строки и второго столбца заносится значение переменной Х

Диалоговые окна InputBox и MsgBox

Для ввода данных с клавиатуры используется окно ввода InputBox (таблица 1), а для вывода информации на экран – окно сообщений MsgBox (таблица 2).

Таблица 1

Функция InputBox Выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки OK и Cancel. Устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа string по нажатию кнопки OK, содержащее текст, введенный в поле. При нажатии кнопки Cancel возвращает пустую строку. Синтаксис: InputBox(prompt[, title] [, default]) - prompt – строковое выражение, отображаемое как сообщение в диалоговом окне. Строковое значение prompt может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (chr (13)), символа перевода строки (chr(10)) или комбинацию этих символов (chr(13) & Chr (10)); - title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения; - default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым.

Пример.

Имя =InputBox(“Введите Ваше имя”, “Пример окна ввода”)

На экране появится окно.

Рисунок 1 – Пример окна ввода

Переменной Имя будет присвоено значение типа String, введенное пользователем.

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

Пример:

X=CDbl(InputBox(“Введите значение Х”, “Пример окна ввода”, “1,678”))

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

Введенное пользователем значение будет преобразовано к типу Double и присвоено переменной Х. Если пользователь не будет вводить значение, а просто нажмет кнопку OK, переменной Х будет присвоено значение по умолчанию – 1.678.

Таблица 2

Процедура MsgBox Выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата. Синтаксис: MsgBox(prompt[, buttons] [, title]) Аргументы: - prompt – строковое выражение, отображаемое как сообщение в диалоговом окне; - buttons – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию этого аргумента равняется 0. Значения констант, определяющих число и тип кнопок используемого значка, приведены в таблицах 3-4; - title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения

Значения параметра Buttons процедуры MsgBox, определяющие отображаемые в диалоговом окне кнопки, приведены в таблице 3:

Таблица 3

Константа Значение Отображаются кнопки
vbOKOnly   OK
VbOKCancel   OK, Отмена
VbAbortRetryIgnore   Стоп, Повтор, Пропустить
VbYesNoCancel   Да, Нет, Отмена
VbYesNo   Да, Нет
VbRetryCancel   Повтор, Отмена

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

Таблица 4

Константа Значение Нажатая кнопка
vbOK   ОК
vbCancel   Отмена (Cancel)
vbAbort   Прервать (Abort)
vbRetry   Повторить (Retry)
vbIgnore   Пропустить (Ignore)
vbYes   Да (Yes)
vbNo   Нет (No)

Пример:

N = MsgBox (“Значение переменной Х=” & X & Chr(10) & “Продолжить вычисления?”, VbYesNo, “Пример окна MsgBox”)

Если к моменту выполнения данного оператора переменная Х равнялась числу 2,14587895, то на экране появится следующее окно

Рисунок 3 – Пример окна сообщений

Пользователь может нажать одну из кнопок – Да или Нет. Если будет нажата кнопка Да, переменной N будет присвоено значение 6, если будет нажата кнопка Нет – 7. Проанализировав в дальнейшем это значение, можно выбрать одну из ветвей выполнения программы.

Часто процедура MsgBox используется в «минимальном» варианте – только для вывода сообщения, с одной кнопкой – OK. В этом случае аргументы не берутся в скобки.

Пример:

MsgBox “Значение переменной Х=” & X

Рисунок 4 – Пример окна сообщений

2.3 Пользовательская форма UserForm и ее элементы управления

По своей сути форма (или пользовательская форма) представляет собой диалоговое окно, в котором можно размещать различные элементы управления. В приложении может быть как одна, так и несколько форм. Новая форма добавляется в проект выбором команды Вставка (Insert) ® UserForm.

В VBA имеется обширный набор встроенных элементов управления. Используя этот набор и редактор форм, нетрудно создать любой пользовательский интерфейс, который будет удовлетворять всем требованиям, предъявляемым к интерфейсу в среде Windows.

Элементы управления являются объектами. Как любые объекты, они обладают свойствами, методами и событиями. Элементы управления создаются при помощи Панели элементов, которая отображается на экране либо выбором команды Вид (View) ® Панель элементов (Toolbox), либо нажатием кнопки панели инструментов Standard. На этой панели представлены кнопки, позволяющие конструировать элементы управления. Для создания элементов управления служат все кнопки панели инструментов, за исключением кнопки Выбор объекта . Щелкнув по кнопке Выбор объекта, можно выбрать уже созданный в форме элемент управления для последующего его редактирования (изменения размеров или редактирования).

Список основных элементов управления и соответствующих кнопок панели элементов.

Таблица 5

Элемент управления Имя Кнопка, его создающая Элемент управления Имя Кнопка, его создающая
Поле TextBox Переключатель OptionButton
Надпись Label Флажок CheckBox
Кнопка CommandButton Выключатель ToggleButton
Список ListBox Рамка Frame
Поле со списком ComboBox Рисунок Image
Полоса прокрутки ScrolBar Набор страниц MultiPage
Счетчик SpinButton Набор вкладок TabStrip

Для размещения элемента управления на лист или в форму необходимо:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: