Чтение онлайн

ЖАНРЫ

VBA для чайников

Каммингс Стив

Шрифт:

Вызов редактора Visual Basic одним щелчком

Если в вашем приложении есть кнопка в панели инструментов для вызова редактора Visual Basic. используйте се. В VBА-приложениях из пакета Microsoft Office (Word. Excel и PowerPoint) эта кнопка помещена в панель инструментов Visual Basic (рис. 3.2). Наборы кнопок в этой панели инструментов у разных приложений могут немного отличаться.

Рис. 3.1. Редактор Visual Basic

Рис, 3.2. Вид панели инструментов Visual Basic в приложении Word

Кнопки в этой панели инструментов, как правило, соответствуют пунктам подменю Макрос из меню Сервис. Вот для чего предназначены некоторые из этих кнопок (слева направо, см. рис. 3.2).

* Первые две кнопки предназначены соответственно для выполнения и записи

макросов.

* Кнопка справа от кнопки Безопасность вызывает редактор Visual Basic. Если вы часто используете редактор Visual Basic, а другие кнопки в этой панели инструментов вам не нужны, скопируйте кнопку вызова редактора в другую панель. Чтобы скопировать кнопку в любом из приложений Office, перетащите ее на новое место, удерживая при этом нажатой клавишу Alt.

* Кнопка с изображенными на ней молотком и гаечным ключом открывает панель элементов управления, очень похожую на панель элементов управления VBA. В Office вы можете поместить элементы управления VBA в сам документ, а не только в VBA-форму.

* Кнопка с изображенными на ней линейкой, треугольником и карандашом включает режим проектирования, в котором вы можете редактировать элементы управления VBA в своем документе.

Краткое знакомство с редактором Visual Basic

Первые обращения к редактору Visual Basic могут вас озадачить. Наверное, присутствие меню и панелей инструментов вверху экрана покажется вам привычным, но вот что означает это обилие окон? Предсказать их взаимное расположение практически невозможно, поскольку они размещаются и комбинируются почти в бесконечном разнообразии вариантов (даже когда вы открываете редактор Visual Basic впервые, все равно предстающая перед вами картина допускает немало вариантов, в зависимости от того, как вы его открыли).

Кроме того, если вы не профессиональный программист, названия окон и их функции окажутся для вас наверняка непонятными.

Научить вас уверенно обращаться со всеми этими окнами должна глава 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. Выделите любой раздел в панели классов в левой части окна обозревателя объектов.

Поделиться с друзьями: