Национальный исследовательский университет "Высшая Школа Экономики"
Опубликован: 01.04.2010 | Доступ: свободный | Студентов: 4348 / 894 | Оценка: 4.45 / 4.06 | Длительность: 08:48:00
ISBN: 978-5-9556-0119-9
Специальности: Программист
Лекция 2:

Редактор Visual Basic

< Лекция 1 || Лекция 2: 12 || Лекция 3 >
Аннотация: В лекции рассматриваются окна редактора VBA: Project Window (окно проекта), Properties Window (окно свойств), Code (окно программы), а также меню и панели инструментов Visual Basic. Приводятся способы записи процедур в стандартных модулях и на процедурных листах-обработчиках событий, а также рассматриваются режимы работы с программой.

Редактор Visual Basic позволяет записывать, сохранять и модифицировать программные модули, выполнять и отлаживать процедуры.

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

  • командой Сервис-Макрос-Редактор Visual Basic,
  • нажав кнопкуна панели инструментов Visual Basic
  • с помощью функциональные клавишей Alt+F11.

Возврат в рабочую книгу MS Excel из редактора VBA выполняется

  • командой Microsoft Excel - последней командой меню Вид,
  • нажатием на кнопкустандартной панели инструментов Visual Basic
  • клавишами Alt+F11 или Alt+Q.
Запомните, что:
  • Документ MS Excel представляет собой рабочую книгу, содержащую рабочие листы с данными различных типов и формулами, листы диаграмм и программы для обработки данных.
  • Программные компоненты документа (модули, процедуры, формы) объединяются в проект, который сохраняется на диске вместе с документом.
  • Проект на VBA нельзя создать независимо от документа. Каждой рабочей книге соответствует проект с именем, состоящим из двух частей: VBAProject и названия книги в скобках. Такое имя присваивается проекту по умолчанию

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

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

Структура проекта видна в окне проекта редактора Visual Basic ( рис. 2.1). Основное предназначение окна проекта - обеспечение навигации в проекте.

Окно проекта

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

Структура проекта имеет вид дерева. Элементы структуры могут быть свернуты или расширены нажатием на пиктограммы "+" или "-", расположенные слева от папок, составляющих проект.

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

  • нажатия на кнопкупанели инструментов пиктографического меню
  • команды Project Explorer меню View
  • клавишей Ctrl+R.

Первоначально проект содержит только одну папку с объектами документа - Microsoft Excel Objects.

По мере разработки пользовательского приложения добавляются

  • папка Формы (Forms), содержащая строки для каждой формы, созданной пользователем. Это диалоговые окна пользователя - объекты Userform.
  • папка Модули (Modules) со стандартными пользовательскими модулями, не связанными с конкретными объектами или формами.
  • папка Модули класса (Classes) с модулями, определяющими пользовательские классы.
  • папка Ссылки (References) со ссылками на другие проекты.

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

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

Переход на процедурный лист любого объекта проекта производится следующими способами:

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

Стандартные модули содержат:

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

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

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

Процедура - это последовательность команд (операторов языка), начинающаяся с оператора Sub и заканчивающаяся оператором End Sub.

Все операторы, которые заключены между этими двумя операторами, составляют тело процедуры.

После записи оператора начала процедуры вручную и нажатия клавиши Enter конец процедуры записывается автоматически.

Для вставки процедуры установите точку вставки в тело модуля и выполните команду Procedure (Процедура) из меню Insert (Вставка).

Важно:
  • Любую процедуру, расположенную в стандартном модуле, можно запускать из диалогового окна Макрос, содержащего перечень доступных для запуска процедур (см. "Использование макрорекордера. Абсолютные и относительные ссылки" рис. 1.5).
  • Процедуры, расположенные на процедурных листах, связанных с объектами рабочей книги или пользовательскими формами, не доступны в этом окне.

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

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

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

Рис. 2.2. Окно свойств объекта Module1

Если выделен стандартный модуль или проект ( рис. 2.2), то высвечивается его единственное свойство - Name (имя). Если же выделен, например, объект Userform, то в окне свойств показана таблица с перечнем его свойств.

Изменение свойства Name приводит к изменению имени объекта, под которым этот объект известен всем процедурам проекта.

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

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

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

Меню и панели инструментов Visual Basic

При переходе в редактор VB меняется меню и появляется стандартная панель инструментов Visual Basic.

Пиктограммы отладки программ расположены на отдельной панели инструментов, которая высвечивается командой View-Toolbars-Debug.

Меню

Меню Visual Basic

Рис. 2.3. Меню Visual Basic
  • Команды меню File (Файл) выполняют обычные действия по сохранению рабочей книги, позволяют распечатать лист с процедурами, экспортировать и импортировать модули, формы, классы, закрыть редактор VB и вернуться в таблицу.
  • Команды меню Edit (Правка) служат для редактирования текста процедур (копирования, перемещения и удаления фрагментов кода, поиска и замены текста, отмены последней команды редактирования). Можно просмотреть список свойств и методов, список констант, установить закладки.
  • Команды меню View (Вид) позволяют работать с панелями инструментов, просматривать объекты, переключаться на различные окна и т.д.
    • Пункт Code (Программа) показывает текст модуля или процедурного листа.
    • Пункт Definition (Описание) высвечивает подсказку по ключевому слову, на котором установлена точка вставки.
    • Пункт Object Browser (Просмотр объектов) предназначен для просмотра объектов, их методов и свойств, доступных в разных библиотеках, модулях и пользовательских приложениях (см. Приложение A. Справочная система ).
    • Пункты Immediate Window, Locals Window, Watch Window позволяют просматривать окна редактора. Эти три окна предназначены для модификации переменных и тестирования операторов, для отслеживания значений переменных, для наблюдения за ходом выполнения программы.
    • Пункты Project Explorer, Properties Window позволяют перейти к окну проекта и окну свойств.
  • Запуск процедур и их отладка выполняется командами, которые распределены между тремя меню: Debug (Отладка), Run (Запуск), Tools (Сервис). Подробно см. "Средства получения справки и отладки программ" Инструментальные средства отладки программ.
    • Пункты Run (Запуск программы), Break (Прервать), Reset (Сброс) служат для выполнения процедуры, для прерывания программы и внесения изменений после прерывания.
    • Пошаговое выполнение процедур производится при помощи команд Step Into (Шаг с заходом), Step Over (Шаг с обходом), Step Out (Шаг с выходом). Описание команд см. в описании аналогичных кнопок панели инструментов Debug.
    • Команды Toggle Breakpoint (Точка останова), Clear All Breakpoints (Снять все точки останова) используются для установки и снятия контрольных точек (точек останова). Пошаговое выполнение неизбежно приводит к потере времени выполнения процедур. Контрольные точки позволяют уменьшить время пошагового выполнения кода. При достижении контрольной точки программа переходит в режим отладки и можно просмотреть значения переменных или сделать дополнительные вычисления.
    • Команды Add Watch (Добавить контрольное значение), Edit Watch (Изменить контрольное значение) дают возможность просматривать значения переменных или выражений, редактировать отслеживаемые выражения. В процессе выполнения программы значения высвечиваются в окне контрольных значений ( Watches ).
    • Команда Quick Watch (Установить контрольное значение) позволяет узнать значение переменной или выражения после прерывания программы.
  • В меню Tools (Сервис) находятся инструменты VB. Команды этого меню отличаются от команд аналогичного меню для табличного листа.
    • Команда Macros (Макросы) вызывает диалог запуска макроса (см. рис. 1.5). Для табличного листа эквивалентная ей команда Макрос разворачивает дополнительный список команд, которые используются для макрорекордера и были подробно разобраны выше.
    • Команда Ссылки (References) служит для связи текущего проекта с другими проектами или библиотеками.
  • Меню Window (Окно) позволяет открыть новое окно, упорядочить открытые окна, разделить активное окно.
  • Меню Help (Справка) - вызов справочной информации. Используется для запуска справочной системы MS Excel Visual Basic.
    Разделы помощи

    Рис. 2.4. Разделы помощи
    При выборе этого пункта доступны разделы помощи ( рис. 2.4), сгруппированные в трех книгах. Подробно см. "Средства получения справки и отладки программ" . Справочная система.

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

Стандартная панель инструментов
Стандартная панель инструментов Visual Basic

Рис. 2.5. Стандартная панель инструментов Visual Basic

View Microsoft Excel - переход на активный лист рабочей книги;

Insert Userform - вставка объекта Userform (форма);

Нажатие на стрелку вниз справа от пиктограммы высвечивает дополнительное меню ( рис. 2.6), в котором можно выбрать вставляемый объект: модуль, процедуру или класс;

Дополнительное меню

Рис. 2.6. Дополнительное меню

Run Macro запускает процедуру, внутри которой установлена точка вставки. Если точка вставка вне процедур или лист с процедурами неактивен, то предлагается выбрать запускаемую процедуру из меню;

Break Macro приостанавливает работу процедуры или продолжает ее после сделанной паузы;

Stop Macro прерывает выполнение процедуры;

Design Mode - вход/выход из режима Конструктора;

Project Explorer открывает окно проекта;

Properties Window открывает окно свойств текущего объекта;

Object Browser - просмотр объектов;

Toolbox высвечивает панель элементов управления форм.

Остальные пиктограммы имеют стандартное предназначение.

Панель инструментов отладки
Панель отладки (Debug)

Рис. 2.7. Панель отладки (Debug)

Design Mode - вход/выход из режима Конструктора;

Toggle Breakpoint - установка контрольной точки;

Step Into - переход на следующую команду текущей и вызываемой процедур;

Step Over - переход на следующую команду текущей процедуры без пошагового выполнения вызываемых процедур. Вызванные процедуры и функции выполняются целиком без остановов на командах;

Step Out - выход из вызванной процедуры и переход к следующей команде исходной процедуры;

высвечивание на экране окон редактора ( Locals, Immediate, Watches ).

Quick Watch - высвечивание окна значений отслеживаемой переменной;

Call Stack - высвечивание структуры вызовов процедур (стек процедур).
< Лекция 1 || Лекция 2: 12 || Лекция 3 >
Дмитрий Денисов
Дмитрий Денисов

Еще раз повторяю вопрос  - отправил договор и сканы документов по почте - в начале августа, до  5 го, внес предоплату - летом действовала скидка - чтобы пройти курс в августе, но я уезжал в Москву. По возвращению - и  в течение месяца - никакого ответа, никаких зачислений, ничего. Как проверить, пришли ли мои документы в Интуит, предоплата, почему нет зачисления.

Дмитрий Денисов
Дмитрий Денисов

Как записаться на курс, оплатить, не ориентируюсь в программе.

Ранее у Вас учился.

Работаю преподавателем, есть справка. Как получить скидку, т.е. оплата 2000