
- •Использование visual basic for applications для разработки приложений в ms office
- •Введение
- •1. Общие принципы ооп
- •2. Визуальное программирование. Событийно-управляемое программирование
- •3. Структура программы и иерархия классов в office
- •4. Интегрированная среда разработки vba
- •4.1. Окна интегрированной среды
- •4.2. Меню
- •4.2.1. Меню Файл
- •4.2.2. Меню Вид
- •4.2.3. Меню Вставка
- •4.2.4. Меню Формат
- •4.2.5. Меню Отладка
- •4.2.6. Меню Запуск (Run)
- •4.2.7. Меню Сервис (Tools)
- •4.2.8. Пример создания простейшей формы
- •5. Язык vba, написание программного кода
- •5.1. Общие элементы синтаксиса, операторы
- •5.1.2. Арифметические операторы
- •5.1.3. Оператор конкатенации &
- •5.1.4. Логические операторы
- •5.1.5. Комментарий
- •5.2. Функции, процедуры, макросы, обработчики событий
- •5.2.1. Процедуры
- •5.2.2. Функции
- •5.2.3. Функции MsgBox и DialogBox
- •InputBox (подсказка [, заглавие ] [, по_умолчанию ] [, х_поз][ , у_поз][ , help_file, контекст]).
- •5.2.4. Еще один способ вызова процедуры или функции
- •5.3. Объявление переменных, типы переменных
- •5.4. Преобразованиеданных и типов данных
- •5.5. Массивы
- •5.6. Константы
- •5.7. Область видимости и время жизни переменных, констант и процедур
- •5.7.1. Управление областью видимости
- •5.7.2. Пример создания программного кода формы
- •5.8. Инструкции vba
- •5.8.1. Инструкции присваивания Let и Set
- •5.8.2. Инструкции циклов
- •5.8.3. Инструкции принятия решений
- •6. Создание графического интерфейса с помощью стандартных элементов диалога
- •6.1. Создание формы и размещение в ней элементов управления
- •6.1.1. Объектная модель библиотеки ms Forms
- •6.1.2. События форм и элементов управления
- •6.2. Элементы управления
- •6.2.1.Label (Надпись)
- •6.2.2.TextBox (Поле)
- •6.2.3.RadioButton (Переключатели или радиокнопки)
- •6.2.4.CheckBox (Флажок) и Toggle Button (Выключатель)
- •6.2.5.Frame (Рамка)
- •6.2.6.ListBox (Список)
- •6.2.7.ComboBox (Поле со списком)
- •6.2.14.Свойства элементов управления
- •7. Создание приложений для ms excel
- •7.1. Структура проекта
- •7.2. ОбъектApplication
- •7.3. Работа с книгами
- •7.4. Работа с рабочими листами
- •7.5. Работа с ячейками
- •8. Создание приложений для ms word
- •8.1. Структура проекта
- •8.2. ОбъектApplication
- •8.3. Работа с документами
- •8.4. Работа с абзацами
- •8.5. Работа с текстом
- •8.5.1. Объект Range
- •8.5.2. Объект Selection
- •9. Задания для самостоятельной работы
- •9.1. Создание графического интерфейса
- •9.2. Написание программного кода
- •9.3. Создание приложения дляWord
- •9.4. Написание функции и процедуры
- •9.5. Создание приложения дляExcel
- •Библиографический список
3. Структура программы и иерархия классов в office
При создании любого документа MS Office автоматически создается и проект Visual Basic, непосредственно связанный с этим документом и хранящийся в том же файле, что и документ. Под проектом следует понимать весь программный код, ассоциированный, т. е. связанный с данным документом. Вся программа, т. е. весь проект, на языке Visual Basic for Applications содержится в модулях. Модуль – это набор описаний и процедур на языке VBA, собранных в одну программную единицу. Существует два основных типа модулей:
модули класса
стандартные модули
Как правило, к модулям класса относят и модули форм, которые связаны с определенной формой. В них могут быть записаны обработчики событий для элементов управления на данной форме, переменные, связанные с этой формой и т.д. Однако модули форм отличаются от обычных модулей класса, так как в них, помимо всего вышеперечисленного, хранится вся информация о форме: ее размеры, свойства, входящие в ее состав элементы и т.п.
Стандартным называется модуль, который не связан ни с одним объектом. Обычно в стандартные модули помещают часто используемые процедуры и функции.
Рассмотрим кратко понятие объектной модели VBA. Для VBAприложениеMSOfficeи все его составляющие являются не более, чем объектами со своими вполне определенными свойствами и методами. Приложение (Application) является объектом самого высокого уровня, все остальные объекты (например, открытые в данном приложении документы) являются его свойствами. Объектные модели различных приложенийOfficeразличны, поэтому рассматривать их мы будем в разделах, посвященныхWordиExcelотдельно.
4. Интегрированная среда разработки vba
При программировании важно знать не только язык программирования, но и хорошо ориентироваться в среде разработки. Это особенно важно для языков, предоставляющих возможность визуального проектирования, каковым и является VBA.
Для входа в среду VBA из любого приложения достаточно нажать Alt+F11 или выбрать Сервис|Макрос|Редактор Visual Basic. Среда разработки VBA является интегрированной, т. е. объединяет в себе несколько составляющих, таких как текстовый редактор, визуальный конструктор форм, компилятор, отладчик и т.д. По структуре она является многооконной и позволяет скрывать те из своих элементов, которые не нужны в данный момент. А для их отображения используется меню Вид (View) или горячие клавиши. Рассмотрим подробнее ее элементы.
4.1. Окна интегрированной среды
Программа(Code). Это окно, которое занимает большую часть экрана, представляет собой текстовый редактор, предназначенный для ввода и редактирования текста программы. В верхней части этого окна имеются два выпадающих списка, в которых можно выбрать объект и событие, для обработки которого будет написан код. После выбора события автоматически появляется шаблон процедуры обработки события.
User Form. Это окно появляется при визуальном создании или редактировании пользовательской формы поверх окна. Вызвать его можно, используя команду меню Вид|Объект. Как правило, вместе с появлением этого окна появляется и другое – Панель элементов (его можно вызвать и отдельно, используя меню Вид|Панель элементов), содержащее стандартные элементы управления, которые можно размещать на форме простым перетаскиванием мышью.
Проект (Project Explorer). Прежде, чем говорить об окне проекта, сначала определим, что такое проект. Под проектом в VBA понимается набор всех программных модулей, связанных с определенным документом MS Office. Проект может включать модули с процедурами обработки событий объектов приложения, стандартные модули с пользовательскими процедурами, модули классов и ссылки на другие проекты (ссылки позволяют использовать процедуры и данные других проектов).
Окно Проект предназначено для быстрого получения информации о различных составляющих проекта: формах (forms), модулях (modules) и ссылках (references). Для добавления или удаления составляющих можно использовать контекстное меню окна, используя соответствующие его пункты. Окно программы можно также использовать для быстрой навигации по формам проекта и программному коду, используя в контекстном меню команды Объект или Программа.
Окно Cвойства (Properties) отображает список свойств выделенного объекта. Выделенным объектом считается объект, выделенный в окне Проект. Используя окно, можно легко изменять такие свойства объекта, как цвет, положение на экране и т.д. Причем это относится в равной степени как к элементам формы и самой форме, так и к документу в общем, что еще раз доказывает единую природу всех элементов Office – объектную.
Просмотр объектов (Object Browser). Это окно предназначено для просмотра и поиска всех классов, их свойств и методов, доступных при создании программы. Для быстрого поиска интересующего класса (или свойства) нужно предварительно в выпадающем списке указать библиотеку, в котором находится класс, а затем во втором списке набрать его имя.
В результате поиска будет указана библиотека, а также искомый класс или его компонент. Просмотр объектов также может быть использован для получения справки об объектах и их свойствах.
Панель элементов (Toolbox) содержит кнопки, используемые для создания различных элементов управления, используемых при конструировании формы. По умолчанию на панели элементов располагаются только стандартные элементы управления, однако панель легко настраивается с помощью команд контекстного меню.
Окно Проверка (Immediate) позволяет ввести инструкцию и выполнить ее. При этом инструкция должна быть записана в одну строку. Инструкция выполняется после нажатия клавиши Enter.
Окно Локальные переменные (Locals) вызывается выполнением команды меню Вид | Окно локальных переменных или такой же в меню Отладка. Оно автоматически отображает все текущие переменные процедуры и их значения и позволяет изменять их.
Окно Контрольные значения (Watches) применяется при отладке программы для просмотра значений выражений, отображает имя, тип, значение и контекст переменной или целого выражения (контекст – это область, где переменная или выражение могут иметь какое-либо значение). Для добавления контрольного выражения в это окно используется команда Отладка | Добавить контрольное значение. В результате появится окно диалога, в которое вводится выражение, его контекст, а также один из режимов просмотра. Режим Контрольное выражение предназначен для просмотра выражения, режим Останов, если значение выражения истинно реализует режим остановки программы, если значение выражения истинно. Режим Останов при изменении значения выражения действует аналогично, если значение выражения изменится. Выполнение команды Отладка | Изменить контрольное значение позволяет редактировать контрольное значение. В этом случае выпадает диалоговое окно с аналогичным содержанием.