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



Программирование в среде MS Office. Лекция №1 Офисное программирование. Интегрированная среда разработки офисных приложений Автор: * Международный институт компьютерных технологий Опубликовано: 29.09.2008 Версия текста: 1.0

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

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

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

Основные концепции офисного программирования. Элементы 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 - Пример синтаксиса метода

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

Редактор VBA в любом приложении Office активизируется выбором в меню Сервис строки Макрос и затем Редактор Visual Basic. Как и в других программных системах, среда разработки VBA является интегрированной и состоит из нескольких компонентов - редактора текстов программ, компилятора, системы меню, панелей инструментов, окон проекта, редактирования кода, редактирования форм, свойств объектов, просмотра объектов, визуального конструктора форм и т.д.

Все составляющие среды, за исключением меню и панелей инструментов, отображаются в соответствующих окнах. Через оконные интерфейсы можно выполнять следующие процедуры разработки:

  • добавлять, изменять и удалять объекты в приложениях (документах Word, книгах Excel, презентациях PowerPoint и др.) и их компонентах;
  • редактировать свойства и методы объектов;
  • устанавливать соединения между объектами интерфейса и объектами данных в приложениях Access;
  • просматривать и выбирать компоненты текущих объектов и библиотек;
  • разрабатывать, редактировать и олаживать код программных процедур;
  • тестировать объекты приложения, определять их вид и поведение во время выполнения.

Окно редактора Visual Basic for Applications состоит из следующих частей: Менеджер проектов (Project Explorer), Окно свойств (Properties Window), Окна текста программ и дизайна форм (Code Window), Окно отладки (Immediate Window), Окно контрольного значения (Watch Window), Окно локальных переменных (Locals Window), Стек вызова (Call Stack), Окно просмотра объектов (Object Browser).

Окно Project Explorer отбражает структуру всех открытых проектов. По умолчанию оно открыто и находится в левой части окна редактора Visual Basic.


Рисунок 1.2 - Окно проекта

Самый верхний уровень — это проект (Project), которому соответствует документ Word, рабочая книга Excel, презентация PowerPoint или другой файл, с которым работает данное приложение.

Например, если открыт редактор Visual Basic из Word, то в Project Explorer будут представлены все открытые в настоящее время файлы Word и шаблон Normal.dot. Если редактор Visual Basic открыт из Excel, то в Project Explorer будут открытые книги Excel и специальная скрытая книга PERSONAL.XLS.

 

Стандартный модуль - это блок с текстовым представлением команд VBA.

В модуле этого типа может быть только два раздела:

  • раздел объявлений уровня модуля (объявление переменных и констант уровня модуля);
  • раздел методов модуля (расположение процедур и функций).

В большинстве проектов VBA используется только один стандартный модуль, куда записывается весь код. Создавать новые стандартные модули имеет смысл только из следующих соображений:

  • для удобства экспорта и импорта (из контекстного меню в Project Explorer). Так можно очень удобно обмениваться блоками кода между приложениями VBA;
  • для повышения производительности. При вызове любой процедуры модуля происходит компиляция всего модуля, поэтому иногда выгоднее разместить процедуры в разных модулях, чтобы компилировать только нужный в данный момент код;
  • для улучшения читаемости. Если приложение выполняет разные группы задач, то код, относящийся к каждой группе, лучше поместить в свой модуль.

Модули классов позволяют создавать свои собственные классы – «чертежи», по которым можно создавать свои объекты. Обычно модули классов используются только в очень сложных приложениях.

Пользовательская форма является одновременно хранилищем элементов управления и программного кода, который относится к ним, к самой форме и происходящими с ними событиями.

References - контейнер ссылок (в Word). В нем показывается, на какие другие проекты (документы Word) есть ссылки в текущем проекте, и, соответственно, какие "чужие" программные модули можно использовать. По умолчанию в каждый проект Word помещается ссылка на Normal (т. е. на шаблон Normal.dot), в любом файле можно использовать макросы этого шаблона.

В этом контейнере хранятся ссылки только на другие документы.

Существует возможность настройки свойств проекта. Для этого нужно щелкнуть правой кнопкой мыши по узлу Project (VBAProject в Excel) и в контекстном меню выбрать Project Properties (окно свойств проекта можно открыть и через меню Tools | Project Properties).

В этом окне можно:

  • изменить имя проекта;
  • ввести описание проекта, информацию о файле справки и параметры, которые будут использоваться компилятором;
  • защитить проект, введя пароль.

Окно свойств (Properties Window) представлено на рис.1.3.Оно предназначено для просмотра и изменения свойств объекта, выбранного в раскрывающемся списке в верхней части окна. Рабочая область содержит две вкладки, позволяющие переключиться между способами сортировки набора свойств – по алфавиту или по категориям. Значение свойства можно изменить, введя новое значение с клавиатуры или выбрав одно из возможных значений раскрывающегося списка.


Рисунок 1.3 - Окно свойств

В редакторе кода (Code Window),выполняется основная часть работы по программированию. В верхней части окна редактора кода находятся два раскрывающихся списка (рис 1.4). Слева находится список объектов. В нем выбирается объект, к которому будет относиться код. Если открыт программный код модуля, то здесь будет только пункт General. Если открыта форма, то в этом списке можно выбрать саму форму или любой ее элемент управления и записать для него код.


Рисунок 1.4 - Редактор кода

Список справа — это список процедур и событий. В нем есть раздел Declarations — объявления уровня всего модуля и список всех процедур (макросов) для стандартного модуля или событий, если создается код для формы. При выборе нужного события будет автоматически создана нужная процедура, обрабатывающая это событие.

В редактор кода встроено множество средств, которые упрощают работу в редакторе. Самое полезное средство - это получение списка свойств и методов. Показ списка свойств и методов в редакторе Visual Basic включен по умолчанию. Для использования этой возможности достаточно напечатать имя переменной, представляющей объект, и поставить после него точку. Автоматически откроется список всех свойств и методов этого объекта. В этом списке можно выбрать нужное свойство или метод (клавишами со стрелками или мышью, а если список большой, то можно набрать первые буквы имени свойства или метода), а затем нажать клавишу <Tab>. Открыть заново список можно при помощи меню Edit | List Properties/Methods или клавиш <Ctrl>+<J>.

Если показ списка свойств и методов отключен, то включить его можно при помощи меню Tools | Options (флажок Auto List Members на вкладке Editor окна Options).

Все параметры, которые принимает метод, автоматически показываются при печати пробела после имени метода. Для того чтобы явно вызвать список всех параметров, можно воспользоваться меню Edit | Parameter Info или клавишами <Ctrl>+<Shift>+<I>.

Включить или отключить автоматический показ информации о параметрах можно при помощи флажка Auto Quick Info на той же вкладке Editor окнаOptions.

Список констант (допустимых значений для данного свойства) также появляется автоматически после того, как напечатан знак равенства (=). Можно воспользоваться также меню Edit | List Constants или комбинацией клавиш <Ctrl>+<Shift>+<J>.

Ключевые слова VBA и имена доступных в данный момент классов удобно вводить при помощи автоматического дополнения слов. Для этого достаточно выбрать меню Edit | Complete Word или нажать клавиши <Ctrl>+<Пробел>.

Часто бывает необходимо закомментировать или раскомментировать несколько строк сразу. Для этой цели можно включить отображение панели инструментов Edit и воспользоваться кнопками Comment Block и Uncomment Block.

Окно отладки (Immediate Window) позволяет ввести и выполнить инструкцию. Чтобы отобразить результат выполнения инструкции, необходимо набрать перед ней знак вопроса или ключевое слово Print.

Окно контрольного значения (Watch Window) предназначено для просмотра значений выражений в ходе отладки программы.

Окно локальных переменных (Locals Window) автоматически отбражает все объявленные переменные текущей процедуры и их значения.

Стек вызова (Call Stack) отбражает доступен в момент выполнения программы и отображает вызываемые процедуры и функции.

Окно просмотра объектов (Object Browser) - справочник по всем возможным свойствам и методам объектов Visual Basic for Applications.


Дата добавления: 2018-05-13; просмотров: 520; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!