Стив Каммингс - VBA для чайников
Научить вас уверенно обращаться со всеми этими окнами должна глава 5, здесь же я приведу только список их имен и функций (табл. 3.1).
Таблица 3.1. Имена и функции
Имя окна
Функциональное назначение
Project Explorer (окно проводника проекта)
Перемещение по компонентам VBA-проекта и управление ими
Code (окно программного кода)
Просмотр, добавление и редактирование программного кодаVBA
UserForm (окно формы)
Проектирование пользовательских форм (диалоговых и других окон)
Tool box (панель элементов управления)
Добавление элементов управления (текстовых полей или кнопок) в формы, а во многих VBA-приложениях и в документы
Properties (окно свойств)
Установка индивидуальных атрибутов выделенной формы или элемента управления
Watch (окно контролируемых выражений)
Отслеживание значений выбранных переменных программы и выражений
Locals (окно локальных переменных)
Отслеживание значений переменных текущей процедуры
Immediate (окно немедленного выполнения)
Выполнение отдельных строк программного кода для немедленного получения результата
Object Browser (окно обозревателя объектов)
Исследование объектов, доступных программам
Давайте поближе рассмотрим окно программного кола, предназначенное для печати и редактирования в нем VBA-кода, и окно пользовательской формы, предназначенное для визуального проектирования окон и форм. Примеры окон программного кода и пользовательской формы показаны на рис. 3.3 и 3.4 соответственно.
Рис. 3.3. В окнах программного кода, подобных этому, печатается программный код VBA
Рис. 3.4. Пример окна пользовательской формы с помещенным в него диалоговым окном на стадии еще не завершенного проектирования
С самого начала перед вами откроется несколько окон программного кода и окон пользовательской формы, а может случиться так, что их не будет на экране вообще. Но для нас это сейчас не имеет значения, поскольку после краткого обсуждения справочной системы VBA нам с вами понадобятся новые окна для программы-примера, которую вы почти готовы создать.
На помощь!
Практически все современные приложения до отказа забиты говорящими сами за себя пунктами меню, кнопками в панелях инструментов с красивыми маленькими пиктограммами, ясно соответствующими выполняемым кнопками командам, а также всплывающими сообщениями-подсказками, которые объясняют функциональное назначение этих кнопок. Кому еще при этом требуется какая-то справочная система? Например, вам, если вы собираетесь создавать VBA-программы.
Для начала вам потребуется справка о самом редакторе Visual Basic. Хотя меню и панели инструментов этого редактора работают точно так же, как и во всех остальных приложениях, поначалу многие из предлагаемых редактором команд выглядят совершенно непонятными.
Кроме того, редактор Visual Basic озадачивает вас сразу восемью-девятью типами окон, и требуется немало времени, чтобы разобраться с ними.
Ясно, что с пользовательским интерфейсом редактора Visual Basic вы разберетесь довольно скоро. Но даже самым опытным программистам требуется помощь, когда дело касается деталей самого языка VBA. Из-за сотен объектов, методов, ключевых слов и Бог знает, чего еще. что просто нельзя удержать в голове, без файлов справки VBA работа становится практически невозможной.
Существует созданная Microsoft бумажная версия руководства по программированию в VBA, но комплект поставки далеко не всякого VBA-приложения предполагает наличие печатной копии. Определенно можно сказать, что такая копия руководства есть в комплекте пакета Office для разработчика.
Скорая помощь VBA
Окна справки VBA выглядят по-разному в различных VBA-приложениях. Справочная система и старых программах использует старое и проверенное ядро WinHelp, своими истоками восходящее еще к Windows 3.11. Ядром же справки VBA 6 является HTML Help- новый стандарт Microsoft. Впервые представленная в Windows 98, система HTML Help больше похожа на Web-броузер. К сожалению, те версии HTML Help, которые я использовал до настоящего времени, ведут себя временами довольно странно и непредсказуемо, а кроме того, в них отсутствуют некоторые полезные возможности WinHelp, например возможность удерживать окно справки на экране перед другими окнами, когда активно другое приложение.
Чтобы открыть главное окно справки VBA, выберите Не1р=Справка по Microsoft Visual Basic - появится окно справки с описанием VBA в общем. Окно HTML Help для VBA 6 показано на рис. 3.5. К сожалению, здесь вы не найдете справки о работе с конкретным приложением.
Рис. 3,5. Пользователи VBA6 получают справку в окне HTML Help
Вызов справки VBA-приложения
Печально, но факт - редактор Visual Basic не предлагает команду, обеспечивающую непосредственный доступ к файлам справки того VBA-приложения. из которого он вызван. Не тратьте время на поиски - такой команды просто нет.
Если вам понадобится дополнительная информация о программировании в данном приложении, а не о VBA вообще, единственным решением будет следующий четырехшаговый процесс.
1. Откройте обозреватель объектов, нажав F2 или выбрав Вид=Обозреватель объектов (подробно обозреватель объектов рассмотрен в главе 6).
2. Из раскрывающегося списка в верхнем левом углу окна обозревателя объектов выберите имя вашего VBA-приложения.
3. Выделите любой раздел в панели классов в левой части окна обозревателя объектов.
4. Нажмите F1 или щелкните на кнопке с вопросительным знаком вверху окна обозревателя объектов, чтобы вызвать справочную систему.
При этом вы, конечно, увидите ту часть справки, которая относится к выделенному вами разделу в окне обозревателя объектов, но зато в окне справки можно воспользоваться вкладкой Содержание, на которой представлена вся справочная система вашего приложения.
Поиск в стоге справок
Работа справочной системы VBA организована в соответствии со стандартами Windows как в WinHelp, так и в HTML Help. В обоих случаях вы можете сделать следующее.
* Воспользоваться вкладкой Содержание, чтобы увидеть дерево разделов справки, подобное содержанию обычной книги.
* Воспользоваться вкладкой Предметный указатель, чтобы увидеть алфавитный список ключевых слов, предлагаемый создателями справки.
Можно также воспользоваться вкладкой Поиск, чтобы найти практически любое слово, встречающееся в файлах соответствующей справки. Следует, правда, заметить, что в справке VBA для Office вместо вкладки Поиск есть вкладка Мастер ответов. Предполагается, что вы можете теперь перейти к нужному разделу справки в ответ на целый введенный вами вопрос, но с тем же успехом вы можете просто ввести одно-два слова, а затем щелкнуть на кнопке Найти.
Контекстно-зависимая справка
В редакторе Visual Basic клавиша F1 вызывает контекстно-зависимую справку, т.е. открывает перед вами именно тот раздел справки, который соответствует работе, выполняемой вами в момент вызова. То, что вы увидите, зависит от типа окна, которое будет в редакторе при этом активным, а часто и от того, что именно вы делаете в этом окне.
Такая возможность оказывается действительно удобной при создании программного кода и проектировании форм. В окне программного кода клавиша F1 предоставит справку для термина, находящегося в точке ввода (точка ввода задается текстовым курсором - мигающей вертикальной линией, определяющей место появления печатаемых вами символов). Не волнуйтесь, если вы забыли, как используется какой-нибудь VBA-оператор. Например For . . . Next, или если не помните, какими свойствами и методами обладает нужный вам объект. Просто поместите текстовый курсор в соответствующий оператор и нажмите FI. Пример того, что вы можете при этом увидеть, показан на рис. 3.6.
Рис. 3.6. Получение справки для метода Add в Visio. Если присмотреться, можно заметить, что точка ввода в окне программного кода находится внутри ключевого слова Add
Подобным образом клавиша F1 предоставит вам самую подробную справку о проектировании форм. В окне пользовательской формы можно получить справку о каждом из помещенных в форму элементов управления (рискуя показаться назойливым, я напомню, что элементы управления - это кнопки, флажки, фреймы и т.п.). Щелкните на элементе управления, чтобы выделить его, а затем нажмите F1. Чтобы получить справку об определенном свойстве элемента управления, выделите этот элемент управления, щелкните в строке соответствующего свойства в окне свойств, а затем нажмите F1.
В других окнах клавиша F1 работает следующим образом.
* В окне проводника проекта и окне пользовательской формы нажатие клавиши F1 вызывает раздел справки с описанием окна. Для окна пользовательской формы это сработает, только если не выделен ни один из элементов управления.