Выбрать главу

8. Закройте диалоговое окно Настройка, чтобы завершить работу.

По выполнении всех перечисленных пунктов будет создана кнопка запуска приложения.

Задачи на закрепление материала

Пример 31. Создать программу, позволяющую заполнять стандартные заявления студентов учебного заведения, если все необходимые данные заполняются в соответсвующих текстовых полях формы, а причина пропусков занятий выбирается из раскрывающегося списка (рис. 67, 68).

Рис. 67. Разработанная форма примера 31 в рабочем состоянии

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

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

Классному руководителю

группы АС-42

Сидорову О.И.

от студента(ки)

Петренко Олега Ивановича

Заявление

Прошу считать пропуск за 15.05.2007 уважительным по причине: по семейным обстоятельствам.

Петренко Олег Иванович
18.05.2007

Рис. 68. Примерный формат вывода заявления в документ word

Полученный результат вычисляется по формуле:

Результат = расстояние * (потребление бензина на 100 км) / 100*цену бензина за литр.

Учесть, что если выбрали условие поездки «на чужой машине», то цена бензина равняется 0 руб.

Рис. 69. Разработанная форма примера 32 в рабочем состоянии

Также учесть, что если при вычислении результат превысит 400 руб., то выдать сообщение «Может, пойдем на рынок?».

При создании формы придерживаться рис. 69, при выводе текста в документ Word – рис. 70.

При поездке на дачу, находящуюся на расстоянии 55 км, при цене бензина за литр 18,50 руб., потребление бензина составит 101,75 руб.

Рис. 70. Примерный формат вывода расчетов в документ word

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

Рис. 71. Разработанная форма примера 33 в рабочем состоянии

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

если схема вычисления простая, то

Доход = внесенная сумма + внесенная сумма * процентную ставку/100*срок/360;

если схема вычисления сложная, то

Доход = внесенная сумма + внесенная сумма * процентную ставку/100*срок/360 +0,01*(внесенная сумма * процентную ставку/100*срок/360).

При разработке интерфейса формы опираться на приведенный рис. 71, а при выводе расчетов в документ Word – рис. 72.

Отчет о доходе

На настоящий момент гражданин(ка) Евсеева Ольга Константиновна имеет на своем счету по простым процентам при начальной сумме вложения 1000 руб. за 150 дней при 2 %-ной ставке 1008,33 руб.

Рис. 72. Примерный формат вывода расчетов в документ word

Результат вычислений с соответствующими пояснениями выводится в документ Word, а в поле формы выдается числовой результат произведенных расчетов.

Пример 34. Разработать программу, позволяющую заполнять заявление на восстановление студенческого билета при его порче (украли, потерял, постирал и т. д.). Причину порчи предусмотреть в раскрывающемся списке создаваемой формы.

При работе придерживаться приведенных рис. 73 и 74.

Курсивом выделены выражения, вставляемые программой после того, как будут заполнены соответствующие текстовые поля разрабатываемой формы.

Рис. 73. Разработанная форма примера 34 в рабочем состоянии

Рис. 74. Примерный формат вывода заявления в документ word

Глава 6

Автоматизация стандартных документов

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

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

В VBA существуют две возможности создания диалоговых окон, позволяющих вести интерактивный диалог с пользователями.

Окно сообщений MsgBox выводит простейшие сообщения для пользователя, а окно ввода InputBox обеспечивает ввод информации.

Функция InputBox выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле.

Синтаксис:

InputBox(сообщение [,заголовок] [,default] [,xpos] [,ypos])

Аргументы:

сообщение – строковое выражение, отображаемое как сообщение в диалоговом окне. Может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (chr(13)), символа перевода строки (chr(10)) или комбинации этих клавиш (chr(13) & chr(10));

заголовок – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения;

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

Xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана;

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

Чтобы передать эту информацию (введенное значение в поле ввода) программе, присвойте возвращенное функцией InputBox значение строковой переменной (рис. 75), например:

strA=InputBox(«Какие места предпочитаете?»,"РЖД","У окна")

Рис. 75. Результат функции InputBox

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

Синтаксис:

MsgBox(сообщение [, кнопки] [,заголовок] [,файл_справки, раздел])

Аргументы:

сообщение – строковое выражение, отображаемое как сообщение в диалоговом окне;

кнопки – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию равно 0. Все значения данного аргумента см. в табл. 17, 18;

заголовок – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения;