Предположим, вы не помните, какой из модулей программного кода содержит нужную вам процедуру или какой из объектов имеет определенный метод или событие. Вместо того чтобы в этом случае копаться в своих модулях с помощью окна проводника проекта или вызывать справочную систему, можно заставить обозреватель объектов найти для вас соответствующий объект. Вот как это сделать.
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 разные функции, которые обсуждаются в последующих главах, их окна программного кода выглядят и работают совершенно аналогично.
Вызов окна программного кода
Для того чтобы открыть окно программного кода для существующего модуля, модуля класса или пользовательской формы, в редакторе Visual Basic предусмотрен целый ряд совершенно различных способов. Сначала нужно найти и выделить объект в окне проводника проектов. После этого для вызова соответствующего окна программного кода можно выполнить любое из следующих действий.
* Нажать клавишу F7.
* Щелкнуть на кнопке View Code в верхней части окна проводника проектов.
* Щелкнуть на объекте правой кнопкой мыши и выбрать View Code из появившегося контекстного меню.
* Выбрать View=Code.
* В случае модуля (но не пользовательской формы!) дважды щелкнуть на нем или нажать клавишу Enter.
Если вы находитесь в окне пользовательской формы, то нажатие клавиши F7 или выбор View=Code откроет окно программного кода этой пользовательской формы.
Создание нового окна программного кода
При добавлении в проект нового модуля автоматически открывается новое окно пользовательского кода для этого модуля. (Процесс добавления новых модулей обсуждается в главе 6.) При создании новой формы для нее автоматически создается и окно программного кода (но вы не увидите его, пока не выполните действия, описанные в предыдущем разделе).
Печатание программного кода
Окна программного кода в VBA являются, по сути, простыми текстовыми редакторами, правда, у них есть специальные возможности для создания и редактирования именно VBA-кода.
Печатание VBA-операторов происходит точно так же, как и в обычном текстовом процессоре, с использованием тех же приемов работы с текстовым курсором и клавиш редактирования текста, стандартных для Windows (нажатие клавиши Ноте осуществляет переход в начало строки, a Ctrl+Home - в начало окна). Точно так же можно выделять текст либо с помощью мыши, либо нажав и удерживая клавишу Shift при перемещении курсора.
Как и любой уважающий себя текстовый редактор начала нового тысячелетия, окно программного кода поддерживает возможность перетаскивания выделенного текста. После того как текст, с которым вы хотели бы работать, выделен, вы можете сделать следующее.
* Переместить выделенный текст, перетащив его в другое место и опустив там.
* Скопировать выделенный текст в другое место, действуя так же, как и при перемещении, но с нажатой клавишей Ctrl.
Можно перетаскивать текст в новую позицию в том же окне, в другое окно программного кода, а также в окна Immediate (Окно немедленного выполнения команд) и Watches (Окно контролируемых выражений). Если пунктом назначения является другое окно программного кода, то перед тем, как начать перемещение, нужно разместить окна так, чтобы и исходный текст, и место назначения были видны на экране. (Краткое описание окна немедленного выполнения команд и окна контролируемых выражений вы найдете ниже, в разделе Краткое знакомство с окнами для отладки.)
Окно программного кода позволяет отменить последние из внесенных изменений в программный код.