Опубликован: 01.04.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Национальный исследовательский университет "Высшая Школа Экономики"
Лекция 3:

Средства получения справки и отладки программ

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Аннотация: Время отладки программ можно существенно сократить, если пользоваться различными средствами VBA, специально предназначенными для обнаружения и исправления ошибок в программах. В этой лекции рассматриваются инструментальные средства отладки программ: применение контрольных точек или точек останова (Breakpoint), трассировка и просмотр значений переменных и т.д. Подробно разбираются возможности использования справочной системы для разработки и отладки программ.
Ключевые слова: меню, класс свойств, расширение моделей, офисные приложения, выделенный компонент, формальный параметр, рабочий лист, MS Excel, разделы, создание процедур, оптимизация программы, поиск, тип данных, опция, синтаксические ошибки, имя переменной, объявление переменной, компиляция, тип переменной, деление на нуль, прерывание, диалоговое окно, режим отладки, режим конструктора, отладочная печать, оператор присваивания, пошаговое выполнение, вычисленное значение, тело процедуры, идентификатор переменной, контекстная подсказка, стек вызовов, стандартные модули, системная переменная, пользовательский тип, переменная курсора, вершина стека, область определения, вычисление выражения, значение выражения, точка останова, программа, место, останов, выполняемый оператор, указатель, объект, синтаксис, форматирование

Просмотр объектов, их свойств и методов (Object Browser)

Средство Object Browser предоставляет возможность просмотра (поиска) свойств и методов объектов. Это средство доступно только в редакторе VB. Object Browser вызывается нажатием на пиктограммуили одноименной командой из меню View. Можно нажать клавишу F2.

Окно Object Browser

Окно Object Browser отображает классы, свойства, методы, события и константы объектных библиотек и процедур проекта.

Окно Object Browser

Рис. 3.1. Окно Object Browser

Так как в VBA реализована расширенная модель объектов, то сами приложения также являются объектами и доступны в Object Browser.

Окно Object Browser состоит из нескольких панелей (окон), каждая из которых отображает часть результата поиска. Линия разбивки, существующая между панелями этого окна, позволяет изменять их размеры.

Верхняя левая панель содержит раскрывающийся список Projects/Libraries (проекты/библиотеки) с перечнем моделей объектов, доступных для активного проекта.

Перечень доступных библиотек и проектов

Рис. 3.2. Перечень доступных библиотек и проектов

При выборе значения All Libraries отображаются объекты всех доступных библиотек и проектов. Объект Office содержит объекты, общие для офисных приложений.

После выбора модели объектов в окне классов появляется перечень классов (объектов). Список всегда начинается с класса globals, компоненты которого доступны во всех модулях проекта.

После выделения в окне классов некоторого класса (объекта) в окне справа отображаются компоненты этого класса. В окне описания (нижнее окно) высвечиваются краткие сведения по выделенному компоненту. Если для класса или для компонента класса существует программный код, соответствующая строка выделяется жирным шрифтом.

На рис. 3.1 в окне классов отражена модель объектов библиотеки Excel, выделен объект Sheets, в окне компонентов перечислены свойства, методы и события коллекции Sheets и показаны сведения о методе Add этой коллекции.

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

Каждому типу компонента соответствует свой значок. Подробно см. Help, статья "Icons Used in the Object Browser and Code Windows" (значки, используемые в окне просмотра объектов и в окне модуля).

Значки, соответствующие компонентам
Значок Компонент Значок Компонент

Свойства

Свойства по умолчанию

Методы

Методы по умолчанию

События

Константы

Модули

Классы

Типы, определяемые пользователем

Глобальные объекты

Библиотеки

Проекты

Встроенные ключевые слова и типы

Сгруппированные константы

Окно описания компонента показывает синтаксис выбранного объекта. Кроме формального описания окно описания обычно содержит гиперссылки, подчеркнутые и выделенные зеленым цветом, нажатие на которые высвечивает статью из Help'а, соответствующую нажатой гиперссылке.

Средство Object Browser не дает представления об иерархии объектов. Детальную информацию о просмотре объектов и их иерархии можно получить в Help.

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


- Go Back (Назад) позволяет перейти к объекту, ранее выбранному в списке компонентов класса.

- Go Forward (Вперед) повторяет выбор объектов в списке компонентов класса, если осуществлялся переход назад.

- Copy to Clipboard (Копировать) копирует текст из окна описания после выделения нужного фрагмента, например, имени процедуры со списком формальных параметров, Если фрагмент не выделен, то копируется только название компонента. Допускается перетаскивание мышью текста из окна описания в окно модуля. Можно использовать команду Copy из контекстного меню окна описания.

- View Definition (Описание) помещает курсор в окно описания выделенного класса или компонента.

- Search (Поиск) выполняет поиск библиотек, название компонентов которых соответствует образцу текста в поисковой строке Search Text. В этой строке можно вводить или выбирать искомый текст. Запоминаются значения четырех последних поисковых строк. В строке поиска допускается использование стандартных подстановочных символов. Команда Find Whole Word Only (Только слово целиком) контекстного меню для пиктограммы поиска задает поиск целых слов.

Если поиск произведен успешно, то сведения о найденных компонентах размещаются на панели результатов поиска Search Results. Панель Search Results отображает найденные библиотеки в алфавитном порядке.


- Hide/Show Search Results (скрыть/показать результаты поиска) сворачивает или раскрывает окно результата поиска соответственно.

- Help переключает в Help по VBA на статью о компоненте, расположенном в окне описания.

Выход из Object Browser

Переход к редактируемой процедуре осуществляется простым щелчком мыши, если текст процедуры виден на экране. В противном случае можно закрыть окно Object Browser стандартным способом - нажатием на кнопку закрытия окна. При этом содержание справки сохраняется до следующего вызова Object Browser.

В списке проектов/библиотек можно выбрать имя нужного проекта, и тогда в окне классов появятся компоненты проекта. Двойной щелчок на имени процедуры или названии модуля (процедурного листа) переводит в редактор VB.

Классы и компоненты проекта Project1

Рис. 3.3. Классы и компоненты проекта Project1

Получение справки

Простейший способ получения подсказки по оператору языка - установить точку вставки на оператор или выделить его и нажать клавишу F1. Таким же образом можно получить справку и по элементам среды разработки приложения (окнам, свойствам и пр.).

Внимание:
  • Нажатие клавиши F1 при активном рабочем листе высвечивает Help по MS Excel, а не по VBA.
  • Всегда можно вставить в процедуру приводимые в Help примеры событийных процедур и примеры использования методов и свойств объектов.
Содержание справочника по Visual Basic для MS Excel

Рис. 3.4. Содержание справочника по Visual Basic для MS Excel

Все разделы справочника для версии MS Office 2003 разбиты на три книги:

  • Microsoft Excel Visual Basic Reference содержит разделы программирования для объектов MS Excel, в том числе, модель объектов ( Microsoft Excel Object Model ). Из алфавитных перечней объектов, их свойств, методов, событий и пр. можно выйти на соответствующие статьи по использованию объектов и их компонентов;
  • Microsoft Visual Basic Documentation - это документация по языку программирования VBA. Содержит темы, посвященные созданию процедур, редактированию текста процедур, выполнению написанных программ, возможностям отладки. Часть тем посвящена оптимизации программ: использованию массивов, созданию рекурсивных процедур, эффективным способам передачи аргументов и возможностям построения циклов. Документация включает раздел Visual Basic How To, в котором кратко описано, как выполнить то или другое действие с объектом языка или с объектом приложения.
  • Microsoft Office Visual Basic Reference содержит справки по VBA, общие для всех офисных приложений: справки по объектам, модель объектов MS Office ( Microsoft Office Object Model ). Все темы объединены в папки и можно перемещаться на любой уровень иерархии справочника. Например, чтобы посмотреть, как описывать массивы, пройдите по цепочке Microsoft Visual Basic Documentation \to Visual Basic Conceptual Topics \to Declaring Arrays.

Можно возвращаться к просмотренным ранее темам и осуществлять поиск тем.

Результаты поиска темы, посвященной кодовой таблице

Рис. 3.5. Результаты поиска темы, посвященной кодовой таблице

Например, для поиска кодовой таблицы можно задать образец поиска character set. В результате будут доступны статьи по обеим частям кодовой таблицы.

Интерактивная подсказка

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

Подсказка по типам данных

Рис. 3.6. Подсказка по типам данных

Интерактивная подсказка появляется на экране, если установлена опция Auto Quick Info редактора Visual Basic. Нажатие Ctrl-Enter вводит выбранный элемент в строку процедуры.

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Дмитрий Денисов
Дмитрий Денисов

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

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

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

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

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


 

Елизавета Cафронова
Елизавета Cафронова
Россия, Выкса, НИТУ МИССиС
Иван Чуприков
Иван Чуприков
Россия, пгт. Чульман