Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

IV этап – Запуск программы 1 страница



Запуск программы может быть осуществлен следующим образом:

1 Выбрать команду из меню Run→Run Sub/UserForm. Программа Вычисление запустится в среде программирования VBA. На экране появится разработанный программный интерфейс.

2 В поле ввода числа 1, где мигающий курсор, ввести произвольное число (целое или с дробной частью).

3 Нажать клавишу Tab или щелкнуть мышью на поле ввода числа 2. Мигающий курсор появится в поле числа 2.

4 Ввести второе произвольное число в поле 2.

5 Аналогично ввести третье число в поле 3.

6 Щелкнуть на кнопке <Вычислить>. В поле результата будет показан окончательный результат вычисления выражения.

7 Для продолжения работы программы, то есть для вычисления выражения при других входных данных, надо щелкнуть мышью на поле ввода числа 1 и ввести его.

8 Выполнить действия п.3-7 и т.д. Работа программы в подобном режиме диалога будет продолжаться до тех пор, пока не будет произведен щелчок мыши по кнопке <End>. В этом случае программа завершит работу, и среда программирования VBA вновь появится на экране.

V этап

Сохранить созданную программу создания приложения

Пример 2. Расчет стоимости с учетом НДС.

Постановка задачи. Создать диалоговое окно, в котором производится расчет стоимости товара с учетом НДС по его стоимости без НДС и значению ставки НДС.

Технология выполнения задания:

1 В редакторе Visual Basic в проект добавьте форму. На ней расположить три надписи, три поля ввода и две командные кнопки, как показано на рисунке 33.

Рисунок 33 – Диалоговое окно «Расчет стоимости»

2 При помощи окна Properties задать элементам управления значения следующим образом, как показано в таблице 26.

Таблица 26

Элемент управления Свойство Значение
Форма Caption Расчет стоимости
Надпись Caption Стоимость без учета НДС
Поле ввода Name TextBox1
Надпись Caption НДС
Поле ввода Name TextBox2
Надпись Caption Стоимость с учетом НДС
Поле ввода Name TextBox3
Кнопка Name Caption CommandButton1 ОК
Кнопка Name Caption CommandButton2 Отмена

3 В модуле проекта набрать следующий код, изображенный на рисунке 34:

Рисунок 34 – Программный код

4 Запустить проект.

- нажать клавишу <F5>;

- в поле Стоимость без учета НДС ввести 1000;

- в поле НДС ввести 25;

- нажать кнопку ОК.

В поле Стоимость с учетом НДС будет выведена искомая стоимость. Для закрытия окна нажать кнопку Отмена.

Лабораторная работа № 8

Разработка пользовательского приложения с помощью объектов Форм

Цель: приобретение навыков разработки пользовательского приложения с помощью объектов Формы, вычисляющее значение выражения в заданных точках, вводимых с клавиатуры. Индивидуальные варианты лабораторной работы № 8 выполняются в соответствии с индивидуальными вариантами лабораторной работы № 1 (4 часа).

3.2 Встроенные диалоговые окна в VBA

В проектах VBA часто встречаются две разновидности встроенных диалоговых окон: окна сообщений и окна ввода.

3.2.1 Окна сообщений (MsgBox)

Выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.

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

Отобразить окно сообщения можно с помощью оператора MsgBox или функции MsgBox (). Разница между ними заключается в том, что функция отображает окно сообщения и возвращает некоторое значение, а оператор только отображает окно сообщения.

Синтаксис оператора MsgBox:

MsgBox <Строковое выражение> [, целая константа] [, строковое выражение]

Синтаксис функции MsgBox ():

Переменная = MsgBox (Строковое выражение [, целая константа]

[, строковое выражение]

где

переменная – переменная целого типа, которой присваивается значение, возвращаемое функцией MsgBox ();

MsgBox – имя оператора/функции;

строковое выражение - строковое выражение, которое будет отображаться в поле сообщения окна сообщения (заключается в кавычки);

целая константа – или группа констант, определяющая, какие кнопки (комбинации кнопок) и пиктограммы будут отображаться в окне сообщения;

строковое выражение – строковое выражение, которое будет отображаться в строке заголовка окна сообщения (заключается в кавычки);

В окне сообщения можно выбрать одну из четырех пиктограмм. Эти пиктограммы и их свойства представлены в таблице 27.

Таблица 27 - Константы процедуры MsgBox, определяющие отображаемые информационные значки в диалоговом окне

Пиктограмма Имя пиктограммы Константа Назначение
vbCritical Critical message (Критическое сообщение) Указывает, что произошла серьезная ошибка. Часто после такого сообщения программа прекращает работу
vbExclamation Warning message (Предупреждение) Сообщает о возникновении ошибки, которая требует исправления или может привести к нежелательным последствиям
vbQuestion Query (Запрос) Указывает, что для продолжения работы программе требуется дополнительная информация от пользователя
vbInformation Information message (Информационное сообщение) Информирует пользователя о состоянии программы. Чаще всего используется для сообщения о завершении выполнения некоторой задачи.

В функции MsgBox () можно использовать шесть наборов кнопок, задаваемых константами в соответствии с таблицей 28. Значение константы в соответствии с выбранным набором кнопок принимает аргумент Options.

Таблица 28 - Константы процедуры MsgBox, определяющие отображаемые кнопки в диалоговом окне

Набор кнопок Значение Константа
<OK>   vbOKOnly
<ОК>, <Отмена>   vbOKCancel
<Стоп>, <Повтор>, <Пропустить>   vbAbortRetryIgnore
<Да>, <Нет>, <Отмена>   vbYesNoCancel
<Да>, <Нет>   vbYesNo
<Повтор>, <Отмена>   vbRetryCancel

Если требуется поместить в окно пиктограмму и набор кнопок, то аргумент Options набирается, как две константы, соединенные знаком «+». Первая константа выбирается из таблицы 27, вторая – из таблицы 28. Если используется несколько кнопок, то можно указать, какая из них будет кнопкой команды по умолчанию, т.е. кнопкой, которая сработает при нажатии клавиши [Enter] (кнопка, получающая фокус при отображении окна сообщения). В этом случае в аргумент Options добавляется третья константа в соответствии с таблицей 29.

Каждая из кнопок диалогового окна после щелчка на ней мышью во время выполнения программы возвращает соответствующее ей значение переменной (таблица 30).

Таким образом, имеется возможность программного определения, какая из кнопок диалогового окна нажата, и в соответствии с этим выполнить то или иное действие.

Таблица 29 - Константы процедуры MsgBox, определяющие основную кнопку в диалоговом окне

Кнопка команды по умолчанию Значение Константа
Первая   vbDefaultButton1
Вторая   vbDefaultButton2
Третья   vbDefaultButton3
Четвертая   vbDefaultButton4

Таблица 30 - Значения, возвращаемые функцией MsgBox

Кнопка Значение Константа
<OK>   vbOK
<Отмена>   vbCancel
<Стоп>   vbAbort
<Повтор>   vbRetry
<Пропустить>   vbIgnore
<Да>   vbYes
<Нет>   vbNo

Пример 1.

Постановка задачи. Создать окно информационного сообщения с заголовком «Окно» и текстом «Нажмите кнопку» с пиктограммой информационного сообщения и с двумя кнопками <Да> и <Нет>. При нажатии кнопки <Да> надпись на командной кнопке <Command1> формы требуется заменить на значение Да, а при нажатой кнопки <Нет> на значение Нет.

Технология выполнения задания:

1 Запустить VBA.

2 В проект добавить форму. На панели инструментов выбрать элемент CommandButton и поместить на поле формы. Появится командная кнопка <CommandButton1>.

3 Дважды щелкнуть на командной кнопке <CommandButton1> и в окне программного кода между строками Private Sub и End Sub набрать следующие утверждения:

Private Sub CommandButton1_Click()

Dim A As Long

A = MsgBox ("Нажмите кнопку", vbInformation + vbYesNo, "Окно")

If A = 6 Then

CommandButton1.Caption = "Да"

ElseIf A = 7 Then

CommandButton1.Caption = "Нет"

End If

End Sub

Примечание.

В первой строке функция MsgBox выводит на экран диалоговое окно с текстом «Нажмите кнопку», двумя кнопками <Yes> и <No> и заголовком окна «Окно».

Вторая строка проверяет возвращаемое значение переменной А на его равенство числу 6.

Если условие выполняется, то это означает, что нажата кнопка <Yes>, и тогда в третьей строке свойству Caption (Надпись) командной кнопки <CommandButton1> присваивается значение Да.

Если возвращаемое значение не равно 6, то четвертая строка проверяет его на значение, равное 7, поскольку при нажатии кнопки <No>, возвращаемое значение А равно 7.

Если А действительно равно 7, то в пятой строке надписи на командной кнопке присваивается значение Нет.

Шестая строка закрывает условный оператор.

4 Запустить программу и проверить ее работоспособность, как показано на рисунке 35.


Рисунок 35 – Проверка работоспособности программы

3.2.2 Окна ввода

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

Она выводит на экран диалоговое окно, содержащее сообщение, после ввода и две кнопки ОК и Cancel.

Устанавливает режим ожидания ввода текста пользователем и нажатия кнопки <ОК> или <Отмена>,

Если пользователь выбрал <ОК>, окно ввода возвращает значение типа String, находящийся в поле ввода.

Если же пользователь выбрал <Отмена>, окно ввода возвращает пустую строку (Empty) независимо от того, что напечатал пользователь.

Синтаксис функции:

Строковая переменная = InputBox (Строковое выражение [, константа заголовка] [, константа поля ввода] [, xPos] [, yPos])

где

Строковая переменная – переменная, в которой хранится значение,

возвращаемое функцией InputBox ();

InputBox – имя функции;

строковое выражение – выражение, которое будет отображаться в области

сообщения окна ввода;

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

которой будет отображаться в заголовке окна ввода;

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

которой будет отображаться в поле ввода;

xPos, yPos – положение окна ввода соответственно по

горизонтали и вертикали (в твипах).

Пример 2.

Постановка задачи. Иллюстрация использования окна ввода.

Технология выполнения задания:

1 Запустить VBA.

2 В проект добавить форму. На панели инструментов выбрать элемент CommandButton и поместить на поле формы. Появится командная кнопка <CommandButton2>.

3 Щелкнуть мышью дважды на командной кнопке <CommandButton2> и в окне программного кода между строками Private Sub и End Sub набрать следующие утверждения:

Private Sub CommandButton2_Click()

A = InputBox ("Введите информацию", "Окно ввода")

If A <> " " Then

CommandButton2.Caption = A

Else

CommandButton2.Caption = "Строка ввода пуста"

End If

End Sub

Примечание.

Первая строка отображает окно ввода и присваивает возвращаемое значение переменной А.

Вторая строка проверяет содержимое поля ввода.

Если в поле набраны какие-либо данные, т.е. строка ввода непустая, то утверждение третьей строки после нажатия кнопки <OK> меняет название кнопки <CommandButton2> на содержимое введенных данных.

В противном случае (строка 4) в пятой строке <CommandButton2> присваивается значение Строка ввода пуста.

4 Запустить программу и проверить ее работоспособность, как показано на рисунке 36.

Рисунок 36 – Запуск созданной программы

Лабораторная работа № 9

Встроенные диалоговые окна в VBA

Цель: приобретение навыков разработки проекта встроенных диалоговых окон в VBA. Индивидуальные варианты лабораторной работы № 9 представлены в таблице 31 (2 часа).

Таблица 31

№ В Варианты индивидуальных заданий
Разработать проект диалоговых окон в VBA
  Элемент управления Свойство Значение
       
  Форма Caption Диалоговое окно1
Кнопка (CommandButton1) Caption Критическое сообщение с тремя кнопками Стоп, Повтор, Пропустить
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, Отчество, Факультет, Группу» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint

Продолжение таблицы 31

       
  Форма Caption Диалоговое окно2
Кнопка (CommandButton1) Caption Предупреждение с одной кнопкой ОК
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, Отчество, дату рождения» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно3
Кнопка (CommandButton1) Caption Запрос с двумя кнопками ОК, Отмена
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, адрес местожительства» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно4
Кнопка (CommandButton1) Caption Информационное сообщение с двумя кнопками Повтор, Отмена
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, паспортные данные» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно5
Кнопка (CommandButton1) Caption Критическое сообщение с двумя кнопками Да, Нет
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, домашний телефон» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint

Продолжение таблицы 31

       
  Форма Caption Диалоговое окно6
Кнопка (CommandButton1) Caption Предупреждение с двумя кнопками ОК, Отмена
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, адрес местожительства» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно7
Кнопка (CommandButton1) Caption Запрос с одной кнопкой ОК
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, расписание занятий на понедельник В\Н» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно8
Кнопка (CommandButton1) Caption Информационное сообщение с двумя кнопками Да, Нет
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, перечень дисциплин, изучаемых в текущем семестре» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно9
Кнопка (CommandButton1) Caption Предупреждение с тремя кнопками Стоп, Повтор, Пропустить
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, Отчество, год рождения» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно10
Кнопка (CommandButton1) Caption Запрос с тремя кнопками Да, Нет, Отмена

Продолжение таблицы 31

       
  Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Группу» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно11
Кнопка (CommandButton1) Caption Информационное сообщение с одной кнопкой ОК
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, адрес местопроживания» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно12
Кнопка (CommandButton1) Caption Критическое сообщение с двумя кнопками ОК, Отмена
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Факультет» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно13
Кнопка (CommandButton1) Caption Информационное сообщение с тремя кнопками Да, Нет, Отмена
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, адрес прописки» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно14
Кнопка (CommandButton1) Caption Запрос с тремя кнопками Стоп, повтор, Пропустить
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, расписание занятий на среду по Н/Н» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint

Продолжение таблицы 31

       
  Форма Caption Диалоговое окно15
Кнопка (CommandButton1) Caption Предупреждение с двумя кнопками Повтор, Отмена
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Пол, группу крови» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно16
Кнопка (CommandButton1) Caption Критическое сообщение с тремя кнопками Да, Нет, Отмена
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, специальность» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно17
Кнопка (CommandButton1) Caption Предупреждение с двумя кнопками Да, Нет
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, № зачетной книжки» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно18
Кнопка (CommandButton1) Caption Запрос с двумя кнопками Повтор, Отмена
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, Отчество, паспортные данные» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно19
Кнопка (CommandButton1) Caption Информационное сообщение с тремя кнопками Стоп, Повтор, Пропустить

Продолжение таблицы 31

       
  Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, почтовый индекс» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint
  Форма Caption Диалоговое окно20
Кнопка (CommandButton1) Caption Критическое сообщение с одной кнопкой ОК
Кнопка (CommandButton2) Caption Ввод сообщения «Введите, пожалуйста свою Фамилию, Имя, Отчество, текущую дату и время» в «Окно ввода»
Изображение (Image1) Picture Произвольный рисунок, созданный в Paint

3.3 Объекты формы в VBA: Кнопки-переключатели, Контрольные индикаторы, Рамки

Кнопки-переключатели. Элемент управления OptionButtons (Переключатель) позволяют пользователю выбрать одну или несколько взаимоисключающих альтернатив. Эти элементы управления обычно появляются группами по две или более, и все они взаимосвязаны (если нет рамок, в противном случае кнопки взаимосвязаны внутри рамок). Эти элементы управления состоят из кружка и текста, находящегося рядом. Свойство Aligment может быть установлено в 0 и 1 в зависимости от того, справа или слева от кружка должен находиться текст. Свойство Value может иметь установку True или False в зависимости от того, может быть выбрана кнопка или нет. В каждый момент времени может быть выбрана только одна кнопка, внутри такой кнопки появляется точка. Для выбранной кнопки свойство Value устанавливается в значение True, для всех других кнопок – в значение False.

Контрольные индикаторы (Флажок). Элемент управления CheckBox (Флажок) предоставляет пользователю возможность выбрать одну или несколько альтернатив, но независимо друг от друга. Флажок имеет два состояния: установлен и сброшен, но может настраиваться на выбор из трех альтернатив. В результате пользователь может выбрать несколько контрольных индикаторов одновременно. Изображаются контрольные индикаторы маленькими квадратиками. Выбранный контрольный индикатор имеет внутри знак «R» («галочку»).





Дата публикования: 2014-11-03; Прочитано: 502 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.016 с)...