VBA для чайников
Шрифт:
Просмотр объектов
Прежде чем выполнять любые серьезные действия с помощью обозревателя объектов, убедитесь, что вы работаете с нужным проектом. Для этого необходимо только выбрать подходящий проект в окне проводника проектов.
Щелчок в поле раскрывающегося списка Project/Library (Список проектов/библиотек) слева вверху окна открывает список библиотек, доступных данному проекту. (В том же списке должен присутствовать и сам проект, так что если его нет - возвратитесь в окно проводника проекта и убедитесь, что нужный проект действительно выбран.) Выбрав в списке АLL Libraries (Все
Окно обозревателя объектов разделено на несколько панелей (см. рис. 5.11). Размеры любой из этих панелей можно изменить, перетаскивая разделительные линии между ними.
В верхней панели есть кнопки, с помощью которых можно управлять обозревателем объектов. Ниже расположена панель для вывода результатов поиска; обсуждение этой панели будет представлено ниже, в разделе Поиск членов.
Ниже рядом расположены еще две панели. Левая содержит список Classes (Список классов), в котором показаны объекты, классы, коллекции, модули, формы и константы из выбранной библиотеки или проекта. Щелчок в любой из строк этого списка открывает список Member Of (Список членов) соответствующего объекта в правой панели. Этими членами могут быть процедуры, методы, свойства, события или отдельные константы.
Желаете знать, где же прописался ваш собственный программный код? А вы посмотрите повнимательнее на те объекты в списке классов и списке членов, которые отображаются полужирным шрифтом.
Панель Details (Подробности) в самом низу окна обозревателя объектов отображает информацию в выбранном в данный момент объекте, в частности его тип и содержащий его объект (если вы не видите всю эту информацию из-за слишком маленьких размеров панели, перетащите верхний разделитель панели выше или используйте вертикальную полосу прокрутки в правой стороне панели). Щелчок на объекте, содержащем данный, заставит обозреватель объектов перейти к рассмотрению этого объекта.
Работа с обозревателем объектов очень напоминает работу с обозревателем Web-страниц.
Как и в обозревателе Web-страниц, здесь вы тоже можете использовать гиперссылки для перехода к родственным объектам - щелчок на подчеркнутом тексте в панели Details (Внизу окна) отобразит соответствующий объект в окне обозревателя объектов.
Немедленный доступ к программному коду
Если объект, выбранный вами в окне обозревателя объектов, является модулем или процедурой из вашей собственной программы, просто нажмите Enter - и вы увидите окно Code с соответствующим программным кодом. Любители упражнений с мышью могут вместо этого щелкнуть на кнопке Show Definition (Показать определение).
Предполагается, что нажатие клавиши F1 или щелчок на кнопке Help (Справка) вверху окна обозревателя объектов должен открыть раздел справки, соответствующий объекту, методу, свойству или событию, которые оказались выделенными в окне обозревателя объектов. Обычно так и бывает. Если ваш стиль мышления не слишком регламентирован, то случайное блуждание в окне обозревателя объектов и вызов справки для заинтересовавших вас при этом объектов могут оказаться прекрасным способом безболезненного освоения VBA.
Поиск
Предположим, вы не помните, какой из модулей программного кода содержит нужную вам процедуру или какой из объектов имеет определенный метод или событие. Вместо того чтобы в этом случае копаться в своих модулях с помощью окна проводника проекта или вызывать справочную систему, можно заставить обозреватель объектов найти для вас соответствующий объект. Вот как это сделать.
1. В раскрывающемся списке библиотек/проектов выберите АLL Libraries (если вы собираетесь искать во всем проекте) или соответствующую библиотеку.
Если вы ошиблись в выборе библиотеки, может случиться, что вы обнаружите объект с нужным именем, но этот объект окажется совсем не тем, который нужен вам, поскольку объекты в разных библиотеках могут иметь совпадающие имена.
2. В поле Search (Найти) введите текст, который требуется найти.
Можно повторить поиск любой из четырех введенных последними текстовых строк, выбрав подходящую из раскрывающегося списка поля Search.
3. Нажмите Enter или щелкните на кнопке Search (Найти), на которой изображен бинокль.
После обязательного при этом дребезжания жесткого диска вы увидите удовлетворяющие условию поиска объекты в новой, специально появившейся для этого панели Search Results (Результаты поиска) над панелями со списками. Здесь тоже можно изменить размеры любого из столбцов, если они слишком малы для отображения нужных объектов.
4. Чтобы закрыть панель Search Results, щелкните на кнопке с двойной направленной вверх стрелкой рядом с кнопкой Search.
Если щелкнуть на той же кнопке еще раз (но теперь на ней будет изображена двойная стрелка, направленная вниз), панель Search Results появится снова.
Использование информации из окна обозревателя объектов в программном коде
Обозреватель объектов удовлетворит любое любопытство к объектам в проекте, но, кроме того, он может служить и довольно неплохим средством создания программного кода. После того как вы найдете что-либо, что хотели бы использовать в своей программе, нажмите Ctrl+C или щелкните на кнопке Copy to Clipboard (Копировать в буфер), чтобы поместить найденное в буфер обмена. После этого переключитесь в окно программного кода и вставьте содержимое буфера обмена в свою программу. Такой метод гарантирует, по крайней мере, отсутствие синтаксических ошибок - вы же знаете, что даже самая ничтожная опечатка может свести с ума любую программу (другими словами, программа никогда не выполняется правильно с первого раза).
Секреты кодирования
Окна Code (Окна программного кода) - это сердце редактора Visual Basic: в них вы создаете VBA-операторы, непосредственно выполняющие полезную работу. В этой главе я не собираюсь говорить об использовании VBA-операторов, сосредоточусь на том, как получить максимум пользы от окна программного кода при создании программы. В VBA имеется три типа объектов, с которыми ассоциированы окна программного кода, - это модули, модули классов и пользовательские формы. И хотя все эти объекты выполняют в VESA разные функции, которые обсуждаются в последующих главах, их окна программного кода выглядят и работают совершенно аналогично.