Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции MS Office.docx
Скачиваний:
10
Добавлен:
11.11.2018
Размер:
148.44 Кб
Скачать

Программирование в среде MS Office. Лекция №1 Офисное программирование. Интегрированная среда разработки офисных приложений

Автор: * Международный институт компьютерных технологий

Опубликовано: 29.09.2008 Версия текста: 1.0

1. Основные концепции офисного программирования. Элементы vba как языка ооп.

2. Интегрированная среда разработки офисных приложений

3. Использование средства записи макросов

1. Основные концепции офисного программирования. Элементы vba как языка ооп.

MS Office – одна из самых популярных программных систем, обеспечивающая набор сред для решения коммерческих задач. Все эти среды связаны между собой с помощью механизма OLE (Object Linking and Embedding – связывание и внедрение объектов). Но именно наличие языка VBA позволяет создавать комплексные приложения, обладающие требуемой пользователем функциональностью.

VBA (Visual Basic for Applications) — это диалект языка Visual Basic, расширяющий его возможности и предназначенный для работы с приложениями Microsoft Office и другими приложениями от Microsoft и третьих фирм.

VBA, являясь объектно-ориентированным языком, позволяет решать сложные задачи достаточно просто. Наличие средства записи макросов позволяет на начальном этапе освоения офисного программирования вообще обходиться без кодирования. Однако именно знание VBA предоставляет возможность решать комплексные задачи.

В основе ООП лежит идея «упакованной функциональности». Прикладная программа строится из объектов с некоторыми характеристиками (свойствами) и некоторыми операциями, которые эти объекты могут выполнять. Именно на идеях и принципах ООП развивается офисное программирование (ОфП). Основной задачей ОфП является создание документа.

Документ (ООП-объект) – совокупность структурированных данных разных типов и обрабатывающих их программ.

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

Преимущества ОфП:

  • пользователь работает в единой офисной среде;

  • общие функции и общий графический интерфейс;

  • пользователь-непрограммист может создавать простые виды документов сам.

В состав MS Office входят следующие программные продукты: Word, Excel, Access, PowerPoint, Outlook, FrontPage (для разработки Web-страниц и Web-узлов в Internet), InfoPath (для работы с XML-документами через интерфейс в виде разнообразных динамических форм) (Visio и Project (управление проектами) ( дополнительно).

VBA-объект – это комбинация программного кода и данных, воспринимаемая как некоторая единица, которой можно манипулировать.

Объектами являются сами приложения и их компоненты. Можно выделить следующее группы:

  • объекты, общие для всех приложений;

  • специфические объекты (для каждого приложения);

  • стандартные объекты форм;

  • объекты, подключаемые по стандартной технологии Microsoft;

  • объекты языка VBA.

Особое место среди объектов MS Office занимает объект Collection.

Collection (Коллекция) - совокупность объектов одного класса.

Например, коллекция Workbooks содержит все открытые рабочие книги Workbook. Элемент коллекции может быть идентифицирован по номеру и/или имени.

NameCollection = NameObject+s.

Полная ссылка на объект состоит из ряда вложенных объектов. Если в имени объекта используется пробел, имя берется в квадратные скобки.

Пример обращения к слову в тексте:

Public Sub замена_слова()

Application.ActiveDocument.Paragraphs(1).Range.Words(2).Text = "пример"

End Sub

Имена активных объектов можно опускать

Всем объектам присущи определенные свойства (атрибуты и состояния) и методы (действия, которые можно совершить над объектом). Они реализуются программно и образуют интерфейс объекта.

Манипулировать объектами можно, изменяя свойства либо активируя методы. Чаще всего это происходит при наступлении какого-либо события.

Событие (Event) – действие или ситуация, связанная с объектом и распознаваемая им.

Для некоторых объектов по умолчанию обработка событий недоступна. Поэтому необходимо явно указать эту возможность, например, так:

Public WithEvents App As Word.Application

Для каждого типа объектов определен набор допустимых событий. В качестве отклика на событие выполняется код процедуры, созданный пользователем.

Так как именно последовательность событий определяет последовательность выполнения кода, разработчик должен делать предположения относительно состояния среды приложения в период выполнения. Иначе возникают ошибки времени исполнения.

Свойство (Property) – атрибут, определяющий характеристику (цвет, размер…) или состояние (доступность, видимость…)

Синтаксис установки значения:

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 - Пример синтаксиса метода