Офисное программирование - Страница 24
Назначить форме кнопку или пункт меню для непосредственного вызова приложения из Word нельзя – это можно сделать только для модулей. Поэтому нужно применить следующий способ. Создайте макрос (Меню + Insert + Module) в открытом проекте:
Sub counter()
userForm1.Show
End Sub
Переименуйте этот макрос по своему усмотрению, например Teplo. И выполните следующие действия.
1. Щелкните правой кнопкой мыши в любом месте панели инструментов.
2. В этом меню выберите команду Настройка (или Сервис + Настройка).
3. В диалоговом окне Настройка щелкните на ярлыке вкладки Команды.
4. Прокрутите список Категории вниз и найдите пункт Макросы. Выберите этот пункт. В списке «Сохранить в» выберите имя вашего документа, в котором создан макрос (рис. 66).
Рис. 66. Поиск макроса для создания кнопки
5. В правом окне найдите необходимый макрос (либо VBA-программу).
6. Перетащите имя этого макроса или программы на панель инструментов.
7. Создайте соответствующую надпись кнопки и, если нужно, рисунок (при помощи правой кнопки мыши).
8. Закройте диалоговое окно Настройка, чтобы завершить работу.
По выполнении всех перечисленных пунктов будет создана кнопка запуска приложения.
Пример 31. Создать программу, позволяющую заполнять стандартные заявления студентов учебного заведения, если все необходимые данные заполняются в соответсвующих текстовых полях формы, а причина пропусков занятий выбирается из раскрывающегося списка (рис. 67, 68).
Рис. 67. Разработанная форма примера 31 в рабочем состоянии
Пример 32. Создать программу, позволяющую рассчитать сумму денег, затрачиваемых на бензин при поездке на дачу.
При этом учесть следующее: условия поездки могут быть: в одну сторону, туда и обратно, можно сесть на чужую машину (данные условия учитываются в раскрывающемся списке «условия поездки» на создаваемой форме).
Классному руководителю
группы АС-42
Сидорову О.И.
от студента(ки)
Петренко Олега Ивановича
Прошу считать пропуск за 15.05.2007 уважительным по причине: по семейным обстоятельствам.
Рис. 68. Примерный формат вывода заявления в документ word
Полученный результат вычисляется по формуле:
Результат = расстояние * (потребление бензина на 100 км) / 100*цену бензина за литр.
Учесть, что если выбрали условие поездки «на чужой машине», то цена бензина равняется 0 руб.
Рис. 69. Разработанная форма примера 32 в рабочем состоянии
Также учесть, что если при вычислении результат превысит 400 руб., то выдать сообщение «Может, пойдем на рынок?».
При создании формы придерживаться рис. 69, при выводе текста в документ Word – рис. 70.
Рис. 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 – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана.