- •Л.В. Рыбакова Основы программирования в среде Visual Basic for Application (vba)
- •Содержание
- •1. Пользовательский интерфейс vba 5
- •2. Разработка программного кода 18
- •3. Объектно-ориентированное программирование на vba 100
- •Введение
- •1. Пользовательский интерфейс vba
- •1.1 Особенности среды программирования
- •1.2 Запуск vba
- •1.3 Структура редактора Visual Basic
- •1.3.1 Окно проекта Project-vbaProject
- •1.3.2 Окно редактирования кода
- •1.3.3 Окно редактирования форм
- •1.3.4 Окно свойств “Properties”
- •1.3.5 Окно панели элементов управления (Toolbox)
- •Контрольные вопросы
- •2. Разработка программного кода
- •2.1 Структура проекта vba
- •2.2 Пользовательские подпрограммы-функции
- •2.3 Пользовательские подпрограммы-процедуры
- •2.4 Данные и их описание
- •2.4.1 Алфавит и лексемы языка
- •2.4.2 Переменные и константы
- •2.4.3 Объявление переменных
- •2.4.4 Объявление констант
- •2.4.5 Строковые переменные
- •2.4.6 Области видимости переменных и констант
- •2.4.7 Типы данных
- •2.5 Функции в vba
- •2.5.1 Математические встроенные функции
- •2.5.2 Математические функции, не представленные в vba
- •2.5.3 Функция форматирования данных
- •2.5.4 Функции преобразования типов
- •2.6 Операторы, выражения и операции
- •2.6.1 Операция присваивания
- •2.6.2 Математические операции
- •2.6.3 Операции отношения
- •2.6.4 Логические операции
- •2.6.5 Строковые операции
- •2.7 Отладка программ и обработка ошибочных ситуаций
- •2.7.1 Отладка
- •2.7.2 Точки останова (контрольные точки)
- •2.7.3 Наблюдение за данными с помощью просматриваемых значений
- •2.7.4 Пошаговое выполнение программы
- •2.7.5 Обработка ошибок
- •Программирование алгоритмов линейной структуры
- •2.8 Условный оператор
- •Программирование алгоритмов разветвляющейся структуры
- •2.9 Оператор выбора (переключатель)
- •Программирование алгоритмов ветвлений со многими вариантами
- •2.10 Операторы цикла
- •2.10.1 Циклы с параметром For … Next
- •2.10.2 Циклы с условием (итерационные)
- •Программирование алгоритмов циклической структуры
- •Варианты индивидуальных экономических задач
- •2.11 Табулирование функции
- •2.11.1 Табулирование функции одной переменной
- •2.11.2 Табулирование функции двух переменных (вложенные циклы)
- •Разработка процедур для табулирования функции
- •2.12 Массивы
- •2.12.1 Объявление массива
- •2.12.2 Динамические массивы
- •2.12.3 Действия над массивами
- •2.12.4 Действия над элементами массива
- •2.12.5 Формирование массива
- •2.12.6 Одномерные массивы
- •Создание процедур для обработки последовательности
- •2.12.7 Двумерные массивы. Вложенные циклы
- •Создание процедур для обработки табличных данных
- •Контрольные вопросы:
- •3. Объектно-ориентированное программирование на vba
- •3.1 Разработка программы создания приложения с помощью Форм
- •Разработка пользовательского приложения с помощью объектов Форм
- •3.2 Встроенные диалоговые окна в vba
- •3.2.1 Окна сообщений (MsgBox)
- •3.2.2 Окна ввода
- •Разработка проекта встроенных диалоговых окон в vba
- •Варианты индивидуальных заданий
- •3.3 Объекты формы в vba: кнопки-переключатели, контрольные индикаторы, рамки
- •Разработка пользовательского приложения с помощью объектов: кнопка-переключатель, контрольный индикатор, рамка
- •3.4 Объекты формы в vba: Полоса прокрутки и Счетчик
- •Разработка пользовательского приложения с помощью объектов: полоса прокрутки, счетчик
- •3.5 Интеграция приложений: ms Excel и ms Word
- •3.5.1 Открытие документа ms Word функцией Create Object
- •3.5.2 Открытие документа ms Word функцией GetObject
- •Интеграция популярных приложений, входящих в пакет ms Office
- •Контрольные вопросы:
- •Список используемой литературы
- •Рыбакова Людмила Владимировна
Разработка пользовательского приложения с помощью объектов: полоса прокрутки, счетчик
Цель: приобретение навыков разработки пользовательского приложения с помощью объектов формы - полоса прокрутки, счетчик. Индивидуальные варианты лабораторной работы № 11 выполняются в соответствии с индивидуальными вариантами лабораторной работы № 4 (2 часа).
3.5 Интеграция приложений: ms Excel и ms Word
3.5.1 Открытие документа ms Word функцией Create Object
1. Для открытия документа MS Word необходимо создать форму, в которой расположить командную кнопку, установить значение ее свойства Name, а в модуле формы набрать код программы, изображенный на
рисунке 45.
2. Создать документ MS Word с названием Пример.doc и расположить в рабочем каталоге проекта.
3. Перед выполнением программы надо установить ссылку на библиотеку объектов MS Word 9.0 Object Library в окне References – VBAProject, отображаемом на экране выбором команды Tools/References в редакторе VB.
4. С помощью программного кода первоначально проверяется наличие файла Пример.doc в рабочем каталоге приложения. Если файл присутствует, то с помощью функции CreateObject запускается еще один экземпляр MS Word, даже если MS Word уже был запущен, и в нем открывается файл.
5. После открытия файла на экране отображается диалоговое окно с сообщением «Закрыть документ?». Нажатие кнопки ОК на этом окне приведет как к закрытию окна, так и созданного экземпляра Word с загруженным файлом. Нажатие кнопки Нет оставит документ открытым.
Рисунок 45 – Программный код
3.5.2 Открытие документа ms Word функцией GetObject
Использование функции GetObject, позволяющей открывать существующий документ MS Word, подобно использованию функции CreateObject (рисунок 46).
Функцию GetObject следует использовать для доступа к существующим документам, хранящимся в файлах.
Функцию GetObject можно применить для доступа к объекту Application, предварительно запущенного приложения MS Office MS Word. Для этого надо вызвать функцию GetObject без первого параметра.
Этот способ доступа к объекту Application любого уже запущенного приложения MS Office применяется, когда нет необходимости в запуске еще одного экземпляра приложения, что происходит при работе функции CreateObject.
Рисунок 46 – Программный код
Пример экономической задачи.
Постановка задачи. Создать квитанцию об оплате услуг за использование Internet, которая автоматизировано будет заполняться с помощью приложения MS Excel.
Технология выполнения задания:
1. Создать новый документ MS Word с названием «Квитанция.doc», как показано на рисунке 47, и сохранить в рабочем каталоге будущего проекта.
2. В нем расположить три поля ввода для ввода UID, фамилии пользователя, суммы предоплаты по следующему алгоритму:
- расположить курсор в ячейке таблицы рядом со словом UID пользователя;
- в управляющем меню выбрать команду Вид→Панели инструментов→Элементы управления;
- активизировать на панели инструментов «Элементы управления» кнопку Поле ввода;
- установить соответствующий размер этого поля.
Рисунок 47 – Квитанция об оплате услуг в Internet
Аналогично проделать с двумя остальными полями ввода.
3. Конструирование проекта. Создать форму, как показано
на рисунке 48. Расположить в форме три надписи, три поля ввода и две командные кнопки.
Рисунок 48– Окно приложения «Создание квитанции»
4. Установить при помощи окна Properties следующие значения свойств, как показано в таблице 41.
Таблица 41 – Свойства элементов управления
Элемент управления |
Свойство |
Значение |
Форма |
Caption |
Создание квитанции |
Надпись |
Caption |
UID |
Надпись |
Caption |
Ф.И.О. |
Надпись |
Caption |
р. |
Поле ввода |
Name |
TextBox1 |
Поле ввода |
Name |
TextBox2 |
Поле ввода |
Name |
TextBox3 |
Кнопка |
Name Caption |
CommandButton1 Заполнить квитанцию |
Кнопка |
Name Caption |
CommandButton1 Закрыть |
Рисунок 49 –Программный код к приложению «Создание квитанции»
5. Установить ссылку на библиотеку объектов MS Word 9.0
Object Library.
6. В модуле формы набрать следующий код, представленный
на рисунке 49.
7. Запустить проект.
Примечание. На экране появится документ MS Word Квитанция.doc. Его необходимо свернуть на панель задач и в окне приложения «Создание квитанции» заполнить соответствующие поля, выполнить команду «Заполнить квитанцию». Затем осуществить переход в документ MS Word Квитанция.doc и просмотреть результат выполненных действий. В приложении выполнить команду «Закрыть».
Лабораторная работа № 12