Вход в справочную систему


Help > Справка по Microsoft Visual Basic {или нажмите клавишу <F1>}
Давайте рассмотрим работу со справочной системой на примере поиска информации об объекте Application. Поиск требуемой информации мы начали с вывода объектной модели Microsoft Outlook. Ее диаграмма, содержащая объект Application и подчиненные объекты, дает общее представление о составе и структуре объектной модели приложения и позволяет получить справку о каждом объекте. На этой диаграмме представлены объекты и семейства объектов в виде прямоугольников разного цвета (голубого и желтого, соответственно). Для семейства, кроме имени в скобках, указано имя объекта — элемента семейства. Иногда справа от прямоугольников отображается значок красной стрелки. Щелчок по ней позволяет спуститься на более низкие уровни иерархии объектов; щелчок по любому из прямоугольников — получить справку по этому объекту.
Получение справки
Мастер ответов
Выберите действие := Outlook Objects Найти
Выберите раздел := Microsoft Outlook Objects
Application
Мы рассмотрели вариант получения информации об объектной модели и ее элементах с помощью справочной системы, но помимо этого существует специальный помощник — гид в мире объектов приложений — Object Browser (Окно просмотра объектов). Окно просмотра объектов представляет собой специальное средство редактора Visual Basic, позволяющее просматривать содержимое библиотек объектов и производить поиск справочной информации о предоставляемых ими объектах.
Запуск Object Browser
Object Browser {На панели Standard или}
View > Object Browser {или}
<F2>
Окно просмотра объекта состоит из нескольких частей:

  • Поле со списком Project/Library (Проект/Библиотека), расположенное в верхнем левом углу окна. Этот список предназначен для выбора одной из библиотек открытого проекта приложения. В нем отображаются только те библиотеки, на которые были установлены ссылки в приложении.
  • Поле со списком Search Text (Образец поиска), расположенное под списком Project/Library. Позволяет ввести текст для поиска компонентов в доступных библиотеках. После ввода образца поиска необходимо нажать кнопку Search (Поиск). Так, например, на отображен результат поиска по слову Application для всех доступных библиотек приложения Outlook.
  • Окно Search Result (Результат поиска). В этом окне отображается результат поиска в трех списках: Library (Библиотека), Class (Класс) и Member (Компонент). Каждый элемент списка соответствует найденному компоненту — классу или элементу класса, и содержит (справа налево) название найденного компонента, название класса, которому принадлежит этот компонент, и название библиотеки, которой принадлежит этот класс. Поиск по образцу происходит без учета регистра. Для обозначения типа компонента объектной модели в Microsoft Office введена специальная система значков, представленная на .
  • Список Classes (Классы). Содержит список объектов, типов данных и перечислений (списков констант), принадлежащих конкретной библиотеке или проекту. Содержимое этого списка соответствует элементу, выбранному в раскрывающемся списке Project/Library, или элементу, выделенному в окне Search Result, как в нашем случае.
  • Список Members of <Class> (Компоненты, класса). Содержит список выбранного класса: свойства (переменные и константы), методы и события. По умолчанию компоненты отсортированы по имени, для удобства поиска возможна сортировка по типу:1R Group Members.
  • Окно Details (Описание). В нижней части окна просмотра объектов выводится краткое описание выбранного объекта. Описание проекта приложения включает полный путь и имя файла приложения. Описание библиотеки включает полное ее название, а также полный путь и имя соответствующего файла. Описание объекта включает его имя и имя библиотеки, которой он принадлежит. Описание компонента включает его тип, если это функция, сигнатуру (тип возвращаемого значения и список аргументов), имя, возможно, значение по умолчанию и название объекта и библиотеки, которым он принадлежит. Название объекта или библиотеки в окне описания выделяется особым стилем. Щелкнув по ним мышью, можно выбрать соответствующую библиотеку или объект в окне просмотра объектов.
  • Панель инструментов окна просмотра объекта. Содержит следующие кнопки:
  • Кнопка Search (Поиск) предназначена для поиска компонентов по образцу, введенному в поле Search Text.
  • Кнопка Show/Hide search results (Скрыть/показать результаты" поиска) используется для отображения или скрытия списка найденных компонентов.
  • Кнопки навигации Go Back (Назад) и Go Forward (Вперед) применяются для перехода к предыдущему или следующему компоненту в той последовательности, в которой пользователь к ним обращался.
  • Кнопка Copy to Clipboard (Копировать в буфер обмена) позволяет скопировать в буфер обмена имя выделенного компонента.
  • Кнопка View Definition (Описание) дает возможность перейти к исходному коду определения объекта, свойства или метода. Если приложение содержит много функций и процедур в нескольких модулях, поиск нужного места в программе становится затруднительным. В этом случае с помощью окна проектов и кнопки View Definition задача поиска заметно облегчается.
  • Кнопка Help (Спра-вка) отображает окно справочной системы, содержащее подробное описание выделенного компонента.

Закончим рассказ об Object Browser получением справки о методе persInit нашего класса Person. Конечно, вы сможете получить эту информацию только, если документ с определением класса активен. Заметьте, что классы и методы пользователя выделяются жирным шрифтом.
Поиск в Object Browser
Project/Library All Libraries
Search Text := persinit
После этого в окне Details появится описание нашего метода.
Справочная система — очень сильное оружие, но в некоторых руках оно может быть неэффективным если пользователь не знает, где и что искать. Мы.советуем вам посвятить несколько часов своеобразной тренировке по поиску той или иной информации. Это поможет попять работу справки — куда она ссылается, какой род информации выдает и т. д. Умение правильно ставить вопрос и отсекать ненужные ссылки — очень большой плюс при работе со справкой.
Перейдем к следующему объекту рассмотрения, регламентированному в начале раздела, — проекту. Как уже упоминалось, проект — это набор программных модулей, связанных с основным документом приложения. Сейчас мы рассмотрим работу с проектами. Расскажем о свойствах проекта, о том, как манипулировать структурой проекта и как управлять проектами в многодокументных приложениях.
В начале этого раздела мы говорили, что проект состоит из модулей разных типов, но не говорили о том, как добавить модуль, удалить его или переименовать.
Добавление модуля в проект осуществляется следующим образом:
Добавление модуля
>Insert > {Forms | Module | Class Module}
Для удаления какого-либо модуля из проекта необходимо его сначала выделить. При удалении модуля появится диалоговое окно, предлагающее перед удалением экспортировать модуль. Об экспорте и импорте модулей будет рассказано ниже.
Удаление модуля
> File > Remove Module Нет
Помимо вышеприведенных способов добавления и удаления модулей существует еще один, и на наш взгляд, более естественный способ. Для добавления (удаления) модуля необходимо в окне проекта выполнить следующую последовательность действий:
Insert
> (Forms | Module | Class Module}
( Remove Module)
При создании нового модуля ему присваивается имя модульы, где N — порядковый номер этого модуля. Аналогичная ситуация происходит при автоматической записи макросов, где модулю, содержащему макрос, присваивается имя NewMacros. Подобное наименование не несет никакой информативной нагрузки о содержании модуля, поэтому мы советуем всегда переименовывать стандартные имена модулей.
Переименование модуля
{В окне проекта} Modulel
{В окне свойств} Name := <Новое имя модуля>
После того как мы освоили создание и удаление модулей, давайте рассмотрим, для чего же они предназначены.

  • Модуль объекта приложения. Модули этого типа всегда связаны с объектами, реагирующими на события. Главное назначение подобных модулей состоит в том, что они содержат заготовки процедур реакций на события. Так, например, в Excel модуль ЭтаКнига содержит объект workBook, с которым связаны события ОТ Activate ДО WindowResize.
  • Стандартный модуль. В модулях этого типа следует размещать обычные процедуры и функции. Как правило, это наиболее часто используемый тип модуля. При наличии большого количества процедур разумно иметь не один большой модуль, а несколько маленьких, содержащих процедуры и функции одной тематической направленности.
  • Модуль класса. Это специальный тип модуля, в котором следует размещать код пользовательских классов.
  • Модуль пользовательской формы. В этих модулях содержатся пользовательские формы вместе с процедурами реакции на события объектов этих форм.

И наконец, говоря о ведении проекта, нельзя не упомянуть о его сохранении. Безусловно, сохраняя весь документ приложения, вы сохраняете и проект, к нему присоединенный. Но, вообще говоря, можно сохранить проект и все изменения его кода прямо в редакторе.
Сохранение проекта
> File > Save имяПроекта
Ведение современных проектов целой командой разработчиков (или даже одним человеком) зачастую требует использования кода разных модулей, лежащих в разных проектах. В таких случаях можно воспользоваться вспомогательным инструментом VBA — экспортом и импортом модулей.
Если при работе над новым проектом А вам потребовались только одна функция или один класс, описанные в проекте в, то совсем необязательно на них ссылаться. Можно экспортировать модули из одного проекта в другой. Давайте на примере класса Person рассмотрим процедуру экспорта из проекта ciassPerson в новый проект.
Сначала мы выделяем экспортируемый модуль и сохраняем его на жестком диске в виде отдельного файла с именем, после чего импортируем этот файл в новый проект. В принципе произошло простое копирование кода из проекта в проект, но более цивилизованным методом. Кстати, следующему проекту, которому будет необходим класс Person, достаточно только импортирования уже созданного файла.
Экспорт и импорт классов
{В окне проекта CiassPerson} Person Export File…
Папка := <Диск>
Имя файла := Person
Тип файла Class Files (*.cls)
Сохранить
(В окне нового проекта}
Import File…
Папка := <Диск>
Имя файла := Person
Открыть
Аналогичным способом можно экспортировать и импортировать любые модули проекта (пользовательские модули, модули форм).
Замечание

Вспомните, что когда мы удаляем модуль из проекта, выводится диалоговое окно, предлагающее экспортировать модуль. Если модуль может оказаться вам полезен в будущем, но не нужен в данном проекте, сохраните его, нажав кнопку Да. В противном случае нажмите кнопку Нет.