Национальный исследовательский университет "Высшая Школа Экономики"
Опубликован: 19.11.2012 | Доступ: свободный | Студентов: 2299 / 559 | Длительность: 30:21:00
Специальности: Менеджер, Преподаватель
Лекция 15:

Принципы разработки приложений на VBA

< Лекция 14 || Лекция 15: 12 || Лекция 16 >
Аннотация: Редактор Visual Basic позволяет записывать, сохранять и модифицировать программные модули, выполнять и отлаживать программы, связанные с документами MS Office.

15.1. Среда разработки – редактор Visual Basic

Независимо от приложения в редактор VB можно перейти:

  • нажав кнопку Visual Basic Visual Basic в группе Код вкладки Разработчик;
  • с помощью функциональных клавиш Alt-F11.

Возврат в офисный документ из редактора Visual Basic выполняется:

  • последней командой меню View, которая указывает на название офисного приложения, например, командой Microsoft Excel;
  • нажатием на первую кнопку стандартной панели инструментов Visual Basic, определяющую приложение;
  • клавишами Alt-F11 или Alt-Q.

Окна редактора VB

Основные компоненты разработки, отладки и запуска программ – это окна редактора VB. На рис.15.1 показан вид среды разработки MS Excel. Среда разработки в других офисных приложениях выглядит примерно так же.

Окно редактора VBA

Рис. 15.1. Окно редактора VBA

Project Window (окно проекта)

Программные компоненты документа (модули, процедуры, формы) объединяются в проект, который сохраняется на диске вместе с документом MS Office.

Проект на VBA нельзя создать независимо от документа. Каждому документу соответствует проект с именем, состоящим из двух частей: первая часть – VBAProject для MS Excel и MS PowerPoint и Project для MS Word, вторая часть – название документа в скобках. Подобное имя присваивается проекту по умолчанию.

Основное предназначение окна проекта (рис.15.1 и рис.15.2) – обеспечение навигации в проекте. Проект имеет иерархическую структуру, представляющую в виде папок все составляющие проекта: модули (Modules), формы (Forms), объекты приложения (например, Microsoft Excel Objects для MS Excel), пользовательские классы (Classes) и ссылки на другие проекты (References).

Показать окно проекта можно при помощи:

  • нажатия на кнопку Панель инструментов стандартной панели инструментов VBA;
  • команды Project Explorer меню View;
  • клавиш Ctrl+R.
Окно проекта

Рис. 15.2. Окно проекта

Окно кода программы (Code)

В окне кода программы (рис.15.3) отображаются тексты процедур объекта, выделенного в окне проекта. Программа, управляющая объектом проекта, располагается на связанном с объектом процедурном листе, называемом "модуль – обработчик событий". Программы, не связанные с конкретными объектами, располагаются в стандартных модулях папки проекта Modules. В дальнейшем будем использовать термин "модуль", имея в виду, что все сказанное распространяется на модуль – обработчик событий и на стандартный модуль, если иное не оговорено особо.

Программы высвечиваются:

  • двойным щелчком на элемент в окне проекта;
  • командой Code из меню View или нажатием клавиши F7 после выделения элемента проекта.

Редактор программ позволяет просматривать и редактировать процедуры модуля. Процедура – это последовательность операторов языка, начинающаяся с оператора Sub и заканчивающаяся оператором End Sub. Все операторы, заключенные между этими двумя операторами, составляют тело процедуры. Дополнительно к процедурам в начале модуля могут располагаться инструкции компилятору, операторы объявления глобальных и модульных переменных или переменных пользовательских типов.

В окне программы может отображаться текст одной процедуры (procedure view) или текст модуля целиком (full-module view). Переключение режимов просмотра выполняется нажатием соответствующей кнопки в левом нижнем углу окна программы (рис.15.3).

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

Окно кода программы

Рис. 15.3. Окно кода программы

Если это стандартный модуль, то список объектов содержит только одну строку – General, а список процедур – строку Declarations и перечень процедур модуля.

Выбор строки Declarations переводит в раздел объявления переменных, в котором располагаются инструкции компилятору и описания переменных, общих для всех процедур модуля или проекта в целом.

Если окно программы отображает процедурный лист для формы или объекта документа (рис.15.3), то дополнительно к строке General список объектов содержит перечень объектов внутри выбранной формы или объекта документа. При выделении объекта в списке справа отражается перечень событий, связанных с выделенным объектом. На рис.15.3 в окне программы, открытом для рабочей книги, в списке объектов выделен объект Listbox с именем lst_sheet, и для него открыт перечень событий.

В отличие от текстовых редакторов редактор кода программы (или просто редактор кода) не только отображает вводимый текст, но и автоматически вносит изменения. Настройка окна редактора кода выполняется на вкладке Editor команды Tools-Options (рис.15.4).

Редактор кода:

  • изменяет написание ключевых слов, устанавливая прописную букву в начале слова;
  • проверяет синтаксис операторов;
  • высвечивает подсказку по функциям, свойствам и методам объекта;
  • меняет цвет слов для команд, комментариев, синтаксических ошибок в соответствии с установками, сделанными на вкладке Editor Format.

Текст (код) программы можно создать в любом текстовом редакторе и вставить его в модуль, используя команды копирования и вставки.

Возможности настройки редактора VBA

Рис. 15.4. Возможности настройки редактора VBA

Окно свойств объектов (Properties Window)

Свойство – это некий атрибут объекта, например, его название. Окно свойств вызывается командой Properties меню View или нажатием на пиктограмму Properties. Окно свойств высвечивает и позволяет изменять свойства объекта, выделенного в окне проекта или в окне формы. Если выделен стандартный модуль или проект, то в окне свойств отображается его единственное свойство – Name (имя). Если же выделен, например, объект Userform, то в окне свойств (рис.15.5) показана таблица с перечнем его свойств.

Окно свойств объекта UserForm

Рис. 15.5. Окно свойств объекта UserForm

Свойства можно просматривать в алфавитном порядке (вкладка Alphabetic) или с группировкой по категориям (вкладка Categorized).

Свойства объектов можно изменять в режиме конструктора (Design time) или в режиме выполнения программы (Run time). Некоторые свойства объектов можно менять в любом режиме, а отдельные свойства подлежат изменению только в режиме конструктора или только в режиме выполнения программы. Если свойства объектов меняются только в режиме выполнения, то они никогда не видны в окне свойств объекта.

Остальные окна редактора Visual Basic, перечисленные ниже, рассматриваются в разделах, которые связаны с высвечиванием информации в них:

  • Object Browser – окно просмотра объектов, их методов и свойств, доступных в разных библиотеках, модулях и пользовательских приложениях;
  • Immediate Window, Locals Window, Watch Window – окна отладчика, предназначенные для изменения значений переменных и тестирования операторов, для отслеживания значений переменных, для наблюдения за ходом выполнения программы в процессе отладки.
< Лекция 14 || Лекция 15: 12 || Лекция 16 >
Аннна Миллер
Аннна Миллер
Екатерина Дмитриева
Екатерина Дмитриева