Редактор VBA Общие сведения

          Назад



2.1 Общие сведения


Способы запуска редактора Visual Basic, окна редактора Visual Basic

Во многих ситуациях макрорекордер очень удобен, но в реальной работе только им обойтись невозможно. Слишком много не умеет макрорекордер: он не умеет проверять значения, чтобы в зависимости от него выполнить какое-либо действие, не работает с циклами, не умеет перехватывать и обрабатывать ошибки. Он использует только ограниченный и не лучший набор объектов (например, при вводе текста в Word — чувствительный к действиям пользователя объект Selection вместо более надежного объекта Range). Макросы, которые созданы в макрорекордере, очень ограничены с функциональной точки зрения.

Полный возможности программирования в Office раскрываются при использовании редактора Visual Basic, и при серьезной работе без него не обойтись. В то же время, по моим наблюдениям, большинству обычных пользователей разобраться во всех приема его использования самостоятельно очень сложно.

В этой главе мы рассмотрим возможности редактора Visual Basic и познакомимся с тем, что можно сделать в его многочисленных окнах.

Внимание! Для создания программ, которые используют возможности объектных моделей приложений Microsoft Office, использовать язык VBA и редактор Visual Basic совсем не обязательно. Вы вполне можете создавать такие программы на любом COM-совместимом языке, например, обычном Visual Basic C++, Delphi, Java, VBScript и JavaScript, ActivePerl, C#, Visual Basic. NET и т.п. Однако язык VBA (и редактор Visual Basic) изначально создавались для автоматизации приложений Microsoft Office, и работать из них с объектными моделями приложений Microsoft Office удобнее всего.

Прежде чем начать работать с редактором Visual Basic, нужно его открыть. Во всех приложениях Office это делается одинаково:

  • самый простой способ: в меню Сервис выбрать Макрос -> Редактор Visual Basic;
  • самый быстрый способ: нажать <Alt>+<F11>;
  • можно также воспользоваться кнопкой на панели инструментов Visual Basic (предварительно сделав ее видимой);
  • можно вызвать редактор при возникновении ошибки в макросе;
  • можно открыть готовый макрос на редактирование в диалоговом окне Макрос.

В любом случае откроется окно, похожее на представленное на рис.2.1.

Рис. 2.1 Окно редактора Visual Basic в Excel

Внимание! В окне редактора Visual Basic можно работать одновременно с работой в приложении, откуда этот редактор был вызван. Переход — через <Alt>+<Tab> (в редактор также можно "прыгнуть", повторно нажав <Alt>+<F11>).

Всего в редакторе Visual Basic предусмотрены 9 окон:

  • Project Explorer — окно проводника проекта. По умолчанию оно открыто и находится в левой части окна редактора Visual Basic. В нем можно просмотреть компоненты проекта и выполнить с ними множество операций. Подробнее о возможностях работы в этом окне — в следующем разделе этой главы;
  • UserForm — окно формы. Появляется тогда, когда вы редактируете пользовательскую форму из окна дизайнера формы. Подробнее про пользовательские формы и работу с ними — в главе 5 этой книги.
  • Toolbox — панель инструментов управления. Из него можно добавить элементы управления в форму или в документ. Появляется вместе с окном дизайнера форм и рассматривается в той же главе для формы.
  • Properties — одно из самых важных окон. Через него можно просмотреть свойства элемента управления или компонента проекта и их изменить. Он нем — в этой главе.
  • Code  — окно программного кода. В этом окне выполняется основная работа по написанию кода макроса. При открытии программного модуля открывается автоматически. Приемы работы с этим окном будут рассмотрены в этой главе.
  • Object Browser — обозреватель объектов. Необходим для получения информации о классах, доступных программе. Подробная информация — в главе 4 этой книги, которая посвящена работе с объектами.
  • Watch — окно контролируемых выражений. Используется во время отладки для отслеживания значений выбранных переменных программы и выражений. Работа в этом окне, так же, как работа с окном Locals и Immediate, будет рассмотрена в главе 6, в которой рассказывается про перехват ошибок и отладку.
  • Locals — окно локальных переменных. Нужно для отслеживания во время отладки значений переменных текущей процедуры.
  • Immediate — возможность опять-таки при отладке выполнить отдельные строки программного кода и немедленно получить результат.

Найти какое-окно, если вы не поняли, где оно, можно очень просто: нужно выбрать его в меню View, и если оно было скрыто, оно появится в редакторе.

И еще один момент, который для многих пользователей может оказаться разочаровывающим. В русских версиях приложений Office для редактора Visual Basic предусмотрен англоязычный интерфейс. Справка по языку VBA и объектным моделям приложений Office — тоже только на английском. К сожалению, русифицированных вариантов не существует. Однако, по моим наблюдениям, знание английского языка для того, чтобы писать программы в VBA, не критично (хотя и очень полезно): программы вполне можно создавать и не зная английского.




Далее