- •1. Основные концепции офисного программирования. Элементы vba как языка ооп.
- •2. Интегрированная среда разработки офисных приложений
- •3. Использование средства записи макросов
- •1. Основные концепции офисного программирования. Элементы vba как языка ооп.
- •2. Интегрированная среда разработки офисных приложений
- •3. Использование средства записи макросов
- •Приведение типов
- •If. ..Then. ..Else
Программирование в среде MS Office. Лекция №1 Офисное программирование. Интегрированная среда разработки офисных приложений
Автор: * Международный институт компьютерных технологий
Опубликовано: 29.09.2008 Версия текста: 1.0
1. Основные концепции офисного программирования. Элементы vba как языка ооп.
2. Интегрированная среда разработки офисных приложений
3. Использование средства записи макросов
1. Основные концепции офисного программирования. Элементы vba как языка ооп.
MS Office – одна из самых популярных программных систем, обеспечивающая набор сред для решения коммерческих задач. Все эти среды связаны между собой с помощью механизма OLE (Object Linking and Embedding – связывание и внедрение объектов). Но именно наличие языка VBA позволяет создавать комплексные приложения, обладающие требуемой пользователем функциональностью.
|
VBA, являясь объектно-ориентированным языком, позволяет решать сложные задачи достаточно просто. Наличие средства записи макросов позволяет на начальном этапе освоения офисного программирования вообще обходиться без кодирования. Однако именно знание VBA предоставляет возможность решать комплексные задачи.
В основе ООП лежит идея «упакованной функциональности». Прикладная программа строится из объектов с некоторыми характеристиками (свойствами) и некоторыми операциями, которые эти объекты могут выполнять. Именно на идеях и принципах ООП развивается офисное программирование (ОфП). Основной задачей ОфП является создание документа.
|
Программные компоненты объединяются в проект, который является частью документа и хранится вместе с ним.
Преимущества ОфП:
-
пользователь работает в единой офисной среде;
-
общие функции и общий графический интерфейс;
-
пользователь-непрограммист может создавать простые виды документов сам.
В состав MS Office входят следующие программные продукты: Word, Excel, Access, PowerPoint, Outlook, FrontPage (для разработки Web-страниц и Web-узлов в Internet), InfoPath (для работы с XML-документами через интерфейс в виде разнообразных динамических форм) (Visio и Project (управление проектами) ( дополнительно).
|
Объектами являются сами приложения и их компоненты. Можно выделить следующее группы:
-
объекты, общие для всех приложений;
-
специфические объекты (для каждого приложения);
-
стандартные объекты форм;
-
объекты, подключаемые по стандартной технологии Microsoft;
-
объекты языка VBA.
Особое место среди объектов MS Office занимает объект Collection.
|
Например, коллекция Workbooks содержит все открытые рабочие книги Workbook. Элемент коллекции может быть идентифицирован по номеру и/или имени.
NameCollection = NameObject+s.
Полная ссылка на объект состоит из ряда вложенных объектов. Если в имени объекта используется пробел, имя берется в квадратные скобки.
Пример обращения к слову в тексте:
Public Sub замена_слова() Application.ActiveDocument.Paragraphs(1).Range.Words(2).Text = "пример" End Sub |
|
Имена активных объектов можно опускать |
Всем объектам присущи определенные свойства (атрибуты и состояния) и методы (действия, которые можно совершить над объектом). Они реализуются программно и образуют интерфейс объекта.
Манипулировать объектами можно, изменяя свойства либо активируя методы. Чаще всего это происходит при наступлении какого-либо события.
|
Для некоторых объектов по умолчанию обработка событий недоступна. Поэтому необходимо явно указать эту возможность, например, так:
Public WithEvents App As Word.Application |
Для каждого типа объектов определен набор допустимых событий. В качестве отклика на событие выполняется код процедуры, созданный пользователем.
Так как именно последовательность событий определяет последовательность выполнения кода, разработчик должен делать предположения относительно состояния среды приложения в период выполнения. Иначе возникают ошибки времени исполнения.
|
Синтаксис установки значения:
NameObject.NameProperty = ValueProperty |
NameObject – имя объекта, NameProperty – имя свойства, ValueProperty – значение (арифметическое, логическое, текстовое выражение).
Текущее значение свойства можно сохранить в переменной.
Let NameVariable = NameObject.NameProperty |
Здесь NameVariable – имя переменной.
Let (пусть) означает, что значение справа от (=) присваивается переменной слева. |
Это ключевое слово обычно опускается |
Некоторые свойства сами являются объектами (например, объект screen имеет свойство ActiveForm). В таком случае используется объектная переменная:
Set NameVariable = NameObject.NameProperty |
Set (установить) означает, что объект справа от (=) присваивается переменной слева. |
(Set опускать нельзя!!!) |
|
Выделяют 2 категории:
-
процедуры обработки стандартных событий (отражаются в списке Procedure окна кода объекта). Зачастую имеют обработку по умолчанию.
-
стандартные методы объектов, вызываемые в коде. Для вызова необходимо указать имя объекта и имя метода:
NameObject.NameMethod |
У большинства методов есть дополнительные параметры (аргументы), влияющие на его выполнение.
Если метод не возвращает значение, аргументы перечисляются через (,) после имени метода:
NameObject.NameMethod Argument1, Argument2,… [ArgumentN] |
Если метод возвращает значение, аргументы перечисляются через (,) в скобках:
NameObject.NameMethod (Argument1, Argument2,… [ArgumentN]) |
(например, значение параметра в опциях).
Если метод возвращает значение, это значение можно записать в переменную.
СОВЕТ Передавать аргументы можно позиционно (перечисляя в порядке, который указан в синтаксисе, необязательный параметр можно опустить, оставив запятую) или ключевой передачей (имя аргумента (ключ):=значение аргумента, порядок – любой, запятая для пропущенных аргументов не ставится). |
Рисунок 1.1 - Пример синтаксиса метода