[an error occurred while processing this directive]

В начало

Введение

1-й час. Знакомство с Visual Basic for Applications

2-й час. Работа с макросами

3-й час. Работа с элементами управления

4-й час. Переменные и константы

5-й час. Ввод данных

6-й час. Логика условных операторов

7-й час. Циклические вычисления

8-й час. Введение в объекты

9-й час. Основные объекты Excel

10-й час. Объект Range

11-й час. Редактор Visual Basic

12-й час. Отладка программ

13-й час. Обработка ошибок

14-й час. Экранные формы

15-й час. Автоматизация экранных форм

16-й час. Панели инструментов

17-й час. Работа с меню

18-й час. Диаграммы

19-й час. Сводные таблицы

20-й час. Получение внешних данных

21-й час. Доступ к данным с помощью ADO

22-й час. Еще об ADO

23-й час. Автоматизация

24-й час. Выполнение процедур

Приложение. Ответы

11-й час. Редактор Visual Basic

Теперь, когда вы знакомы со многими синтаксическими структурами языка VBA, пришло время поближе познакомиться с редактором Visual Basic. Его многочисленные средства позволяют быстро и легко вводить и редактировать любой код программ. В этом часе основное внимание будет уделено именно таким средствам редактора, включая панели инструментов, справочную систему и окно просмотра объектов Object Browser.

В этом часе будут рассмотрены следующие вопросы.

  • Панели инструментов редактора Visual Basic.
  • Просмотр кода процедур.
  • Получение сведений из справочной системы.
  • Как и для чего можно использовать окно просмотра объектов Object Browser.
  • Параметры среды редактора Visual Basic.

Панели инструментов

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

Кнопки первого сегмента (рис. 11.1) связаны с рабочими книгами и предназначены для возврата в Excel, добавления элементов (модулей, процедур, экранных форм) в текущий проект и для сохранения рабочей книги.

Кнопки следующего сегмента панели (рис. 11.2) выполняют редакторские функции. Они предназначены для вырезания, копирования и вставки фрагментов кода. Здесь же расположена кнопка для поиска кода.

В третьем сегменте панели инструментов (рис. 11.3) находятся всего две кнопки: для отмены выполненной операции и для повтора отмененной операции.

В следующем сегменте (рис. 11.4) первые три кнопки выполняют, останавливают и прекращают выполнение процедуры. Последняя кнопка этого сегмента переводит экранную форму в режим конструктора.

Рис. 11.1. Кнопки для возврата в Excel, вставки элементов в проект и сохранения рабочей книги

Рис. 11.2. Кнопки для вырезания, копирования, вставки и поиска фрагментов кода

Рис. 11.3. Кнопки отмены действий и повторения отмененных действий

Следующие четыре кнопки панели инструментов (рис. 11.5) позволяют отображать или скрывать различные секции окна редактора Visual Basic: окно проектов Project Explorer, окно свойств Properties, окно просмотра объектов Object Browser и стандартную панель инструментов.

Наконец, последняя кнопка на панели инструментов - это обычная кнопка вызова справочной системы (рис. 11.6), точно такая же, как в любой программе Microsoft.

Рис. 11.4. Кнопки для выполнения, остановки и прекращения выполнения процедуры, а также смены режима отображения экранной формы

Рис. 11.5. Кнопки, управляющие отображением окон проектов, свойств и просмотра объектов, а также панели инструментов

Рис. 11.6. Кнопка вызова справочной системы Visual Basic

Редактор Visual Basic имеет также панель инструментов редактирования Edit, на которой расположены следующие кнопки.

  • List Properties/Methods (Список свойств/методов)

Щелчок на этой кнопке открывает список свойств и методов.

  • List Constants (Список констант)

Открывает список констант, которые можно назначить текущему аргументу.

  • Quicklnfo (Экранная подсказка)

Открывает небольшое окно с экранной подсказкой, где представлена информация о синтаксисе создаваемого оператора.

  • Parameter Info (Информация о параметрах)

Предоставляет информацию о параметрах и аргументах функций и операторов.

  • Complete Word (Завершить слово)

Автоматически завершает начатое пользователем слово, если оно есть в словаре VBA.

  • Indent (Отступ)

Добавляет отступ в выделенную строку.

  • Outdent (Выступ)

Делает строку с выступом.

  • Toggle Breakpoint (Переключатель точки останова)

Устанавливает или удаляет точку останова в выделенной строю

О точках останова будет рассказано в 12-м часе "Отладка программ".

  • Comment Text (Добавление комментариев)

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

  • Uncomment Text (Удаление комментариев)

Преобразует выделенные строки комментариев в код, т.е. удаляет символ комментариев (апостроф) в начале строк.

  • Toggle Bookmark (Переключатель закладки)

Устанавливает и снимает маркер закладки для текущей строки кода. Закладки устанавливаются для быстрого перемещения по коду программы

  • Next Bookmark (Следующая закладка)

Переход к следующей закладке.

  • Previous Bookmark (Предыдущая закладка)

Переход к предыдущей закладке.

  • Clear All Bookmarks (Удалить все закладки)

Удаляет из текста все закладки.

Просмотр кода

Если вы знакомы с текстовым редактором Microsoft Word, то для вас не составит никаких проблем перемещение и просмотр кода программ в редакторе Visual Basic, так как здесь используются те же комбинации клавиш. Список комбинаций клавиш и их назначение приведен в табл. 11.1.

Таблица 11.1. Комбинации клавиш для перемещения по тексту

Чтобы перейти… ...нажмите клавиши
В начало строки Ноmе
В конец строки End
В начало модуля Ctrl+Home
В конец модуля Ctrl+End
К следующему слову Ctrl+стрелка, направленная вправо
К предыдущему слову Ctrl+стрелка, направленная влево
К следующей процедуре Ctrl+стрелка, направленная вверх
К предыдущей процедуре Ctrl+стрелка, направленная вниз

Для того чтобы найти в тексте модуля определенное слово или выражение, используется средство Find (Найти) редактора Visual Basic. Доступ к этому средству можно получить либо с помощью меню Edit (Правка), либо щелчка на кнопке Find стандартной панели инструментов, либо комбинации клавиш <Ctrl+F>. Расширением средства Find является средство Replace (Заменить), которое не только ищет заданное слово или выражение, но и заменяет найденное другим текстом.

Средство Replace можно вызвать с помощью клавиши <F3>.

Еще одним интересным средством редактора Visual Basic являются закладки (bookmarks). Закладки маркируют текст, так что затем их легко отыскать. Их можно использовать при тестировании и отладке кода. Если вы подозреваете, что какие-либо участки кода могут вызвать ошибки, пометьте их закладками. Закладками также можно отметить те фрагменты кода, которые в дальнейшем вы собираетесь изменить или переделать.

Использование справочной системы

Теперь рассмотрим работу со справочной системой VBA.

  1. Выполните команду Help > Справка no Microsoft Visual Basic1. Появится помощник и предложит ввести вопрос к справочной системе (рис. 11.7).

Рис. 11.7. Общение со справочной системой Visual Basic начинается со знакомства с помощником, который может принимать различные обличья

  1. Введите вопрос How do I create a new workbook? (Как создать новую книгу?) и нажмите клавишу <Enter>.
  2. В окне помощника из предложенного списка тем выберите Creating a New Workbook (Создание новой книги), которая отобразится в окне справочной системы (рис. 11.8).

Рис. 11.8. Тема, выбранная в окне помощника, открывает окно справочной системы

Справочная система Visual Basic показывает многочисленные примеры кода. Можно скопировать эти примеры из окна справочной системы и вставить в свои процедуры. Для этого выполните следующие действия.

  1. Щелкните на подчеркнутом слове Add (Добавить), расположенном в верхней части справочной темы (я предполагаю, что вы все еще находитесь в окне справочной темы Creating a New Workbook). Подчеркнутый текст связан с другой темой, в данном случае с темой метода Add. Эта тема отобразится в окне справочной системы.
  2. Щелкните на слове Example (Пример) в верхней части окна справки. В окне справки будет показан пример, иллюстрирующий тему (рис. 11.9).
  3. Выделите строку Workbooks.Add.
  4. Щелкните правой кнопкой мыши на выделенной строке и в контекстном меню выберите команду Сору (Копировать).
  5. Закройте окно справочной системы.
  6. Вставьте новый модуль в открытую рабочую книгу.
  7. Создайте новую процедуру и назовите ее НоваяКнига.
  8. Вставьте скопированный код в эту процедуру.

Рис. 11.9. Примеры кода - отличное средство обучения

Хотя скопированный код этого примера может быть для вас не интересен, надеюсь, вы поняли идею, которую я стараюсь донести: если в справочной системе увидели подходящий код - используйте его!

По моему мнению, контекстно-зависимая справка - одно из лучших справочных средств, предлагаемых VBA. Допустим, вы ввели название объекта, свойства, метода или функции и хотите получить сведения о введенном элементе. Нет ничего проще! Нажмите клавишу <F1>, и контекстно-зависимая справка (т.е. справка именно о введенном элементе) - к вашим услугам!

Существует еще несколько средств, которые тоже (с некоторой натяжкой) можно отнести к справочным средствам.

  • Список элементов

Это средство отображает список элементов, необходимых для логически правильного завершения создаваемого выражения.

  • Экранная подсказка

Это маленькое всплывающее окно содержит информацию о синтаксисе создаваемого оператора или функции.

  • Подсказка о значениях переменных

Открывает маленькое окно со значением переменной, на имени которой находится курсор. Это средство работает только в режиме останова.

Режим останова подробно рассмотрен в 12-м часе "Отладка программ".

Просмотр объектов

Окно просмотра объектов Object Browser позволяет просматривать все объекты проекта. Здесь вы найдете все свойства, методы и события, связанные с любым объектом. Доступ к этому окну можно получить следующими способами.

  • Щелкните на кнопке Object Browser стандартной панели инструментов редактора Visual Basic.
  • Выполните команду View > Object Browser (Вид > Просмотр объектов).
  • Нажмите клавишу <F2>.

Я всегда советую использовать окно Object Browser как отличное обучающее и справочное средство, так как здесь можно найти все свойства и методы, относящиеся к любому интересующему вас объекту. Кроме того, из окна Object Browser можно быстро открыть тему справочной системы, описывающую выбранный объект, свойство или метод. Опишем работу в окне Object Browser.

  1. Нажмите клавишу <F2> для открытия окна Object Browser (рис. 11.10).

Рис. 11.10. Это окно предоставляет доступ ко всем объектам, свойствам, методам и событиям

  1. В списке Classes (Классы) найдите объект Range и выделите его.
  2. Прокрутите соседний список Members of 'Range' для просмотра свойств и методов объекта Range.
  3. Выберите метод Activate.
  4. Нажмите клавишу <F1>. Откроется окно справочной системы Visual Basic с описанием метода Activate.
  5. Закройте окно справочной системы.
  6. Закройте окно Object Browser.

Параметры редактора Visual Basic

Среда редактора Visual Basic настраивается путем установки нужных опций в диалоговом окне Options (Параметры). Выполните следующие действия.

  1. Выберите команду Tools > Options (Сервис > Параметры). Откроется диалоговое окно Options (Параметры).
  2. Перейдите на вкладку Editor (Редактор), на которой задаются установки, действующие в окне кода. Здесь можно установить или отменить такие опции, как Auto Quick Info (Экранные подсказки) и Auto Syntax Check (Автоматическая проверка синтаксиса).
  3. Перейдите на вкладку Editor Format (Формат редактора). Параметры этой вкладки управляют цветом различных типов текста в окне редактора, а также стилем и размером применяемого редактором шрифта.
  4. Теперь выберите вкладку General (Основные). Опции, расположенные на этой вкладке, управляют непосредственно параметрами среды редактора Visual Basic. В вашем распоряжении опции, сгруппированные в секции Form Grid Setting (Установка сетки формы), управляющей отображением и размером сетки в режиме конструктора экранных форм, Edit and Continue (Редактирование и завершение), Error Trapping (Обнаружение ошибок) и Compile (Компилирование).
  5. Перейдите на вкладку Docking (Постановка в док). На этой вкладке со странным, на первый взгляд, названием расположены флажки всех окон редактора Visual Basic. Если флажок снят, то соответствующее окно будет плавающим в окне редактора, если флажок установлен, то окно будет "поставлено в док" вдоль одной из сторон окна редактора.
  6. Щелкните на кнопке Отмена для закрытия диалогового окна Options.

Резюме

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

Вопросы и ответы

Вопрос. Как можно использовать справочную систему, если неизвестно даже имя нужного свойства объекта?

Ответ. Нет проблем! Откройте в окне справочной системы тему, описывающую ваш объект, а затем откройте список всех свойств этого объекта. Либо в окне Object Browser выделите нужный объект, в списке членов этого объекта найдите подходящее свойство и нажмите клавишу <F1>.

Вопрос. Если не нравится шрифт Courier, используемый в редакторе Visual Basic, как его заменить?

Ответ. Выполните команду Tools > Options, откроется диалоговое окно Options. Перейдите на вкладку Editor Format и установите новый шрифт.

Практикум

С помощью тестов и упражнений вы проверите, насколько хорошо усвоили изложенный материал. Ответы на вопросы смотрите в Приложении.

Тесты

  1. Кратко опишите три способа получения сведений из справочной системы VBA.
  2. Окно Object Browser можно использовать для просмотра списков объектов, событий, свойств и ___________.
  3. Какую комбинацию клавиш надо нажать, чтобы в окне кода перейти в начало модуля?
  4. ____________ - маленькое окно с информацией о синтаксисе вводимой функции и ее аргументах.
  5. Где находятся опции, управляющие такими средствами редактора Visual Basic, как экранная подсказка и автоматическая проверка синтаксиса?
  6. Истинно или ложно следующее утверждение: справочная система Visual Basic позволяет только просматривать приведенные там примеры кода, не разрешая их копирование и вставку в свой процедуры?

Упражнение

Используя справочную систему Visual Basic или окно Object Browser, найдите следующую информацию.

Метод, используемый для проверки орфографии: __________. (Совет: смотрите методы объекта Application.)

Свойство, возвращающее местоположение на жестком диске программы Ехсеl: _____________.

Свойство, определяющее, была ли сохранена рабочая книга после внесенных в нее изменений: _____________.

Метод, используемый для выполнения ручных вычислений (manual calculation): _____________.

Свойство, применяемое для скрытия рабочей книги: ________.

Метод, используемый для удаления содержимого диапазона ячеек:_____________.


1 Напомним, что мы используем русскоязычные программы excel и Windows. Именно поэтому в англоязычном редакторе Visual Basic иногда встречаются смеси "английского с нижегородским". Подобные ситуации могут возникнуть и в дальнейшем. - Прим. ред.

[an error occurred while processing this directive]