52953.fb2 VBA для чайников - читать онлайн бесплатно полную версию книги . Страница 7

VBA для чайников - читать онлайн бесплатно полную версию книги . Страница 7

Все же я считаю целесообразным предложить здесь несколько простых и обычно полезных способов усовершенствования макросов. Предлагаемые идеи требуют минимальных программистских усилий, но позволяют сделать макрос более гибким. Попробуйте следующее.

Рис.2.6. Запись макроса завершена, и перед вами - его программный код, созданный генератором средства записи макросов

Организуйте повторение команд в макросе. Возможно, вам известно наперед, что придется выполнить целую последовательность команд (или какую-то одну команду) ровно 11 раз. В этом случае все, что вам нужно, - это добавить в свой программный код цикл For. . .Next. Вы спрашиваете, что такое цикл For . . . Next? Это один из элементов языка программирования VBA, обсуждать которые я собираюсь в главе 8.

Организуйте повторение команд в макросе с выяснением количества необходимых повторений непосредственно во время работы макроса. Если вы достаточно амбициозны, добавьте в свой макрос сразу и цикл For. . .Next, и функцию InputBox. Последняя выводит на экран диалоговое окно, предлагающее ответить на некоторый вопрос, в данном случае - о количестве повторений. Использование InputBox обсуждается в главе 11.

Добавьте при вызове возможность выбора текста для использования макросом.

Макрос, который всегда вставляет в документ один и тот же текст, не слишком гибок.

Добавив в записанный макрос функцию InputBox, вы сможете сообщать при каждом запуске макроса, какой текст нужно вставить. Снова напомню, что подробности об использовании InputBox вы найдете в главе 11.

Добавьте возможность выбора перед запуском макроса. Довольно часто для правильной работы макроса требуется выбрать текстовый, графический или какой-то другой объект. Структура If. . . End If языка VBA позволяет проверить, выбран ли объект подходящего типа, чтобы иметь возможность отменить работу макроса в случае невыполнения каких-либо условий. Все тонкости использования оператора If... End If обсуждаются в главе 8.

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

Глава 3. Основы программирования на VBA.

В этой главе ...

~ Запуск редактора Visual Basic

~ Использование справочной системы VBA

~ Программирование в VBA - краткое и нестрогое руководство

Макросы хороши до определенных пределов, но гораздо больше можно получить от полноценных VBA-программ. Эта глава послужит аварийным введением в рациональное VBA-программирование. После вводного обзора редактора Visual Basic и справочной системы VBA мы с вами на простом примере разберем по шагам процесс построения VBA-программы. Эти знания станут тем солидным базисом, который потребуется для освоения всего остального материала книги.

Вызов редактора Visual Basic

Редактор Visual Basic служит командным центром для работы в VBA. В нем вы должны находиться при разработке VBA-форм, создании VBA-кода, тестировании и отладке VBA программ. Экспертом по использованию редактора Visual Basic вы станете после прочтения главы 5, а пока вам нужно только знать, как вытянуть этот редактор на экран.

Если вы делали кое-что из того, о чем так много говорилось в предыдущей главе при обсуждении программного кода, создаваемого средством записи макросов, вы должны уже знать один из способов вызова редактора Visual Basic- выбор макроса в диалоговом окне

Макрос с последующим щелчком на кнопке Изменить. Но, конечно же, можно запустить редактор Visual Basic и непосредственно. В большинстве VBA-приложений можно воспользоваться одним из следующих методов.

* Выбрать из меню Сервис=Макрос=Редактор Visual Basic.

* Нажать Alt+Fll. Вы услышите, как затараторит жесткий диск, и через несколько мгновений на экране появится редактор Visual Basic. Он должен хотя бы отдаленно напоминать то, что изображено на рис. 3.1.

В некоторых приложениях вам понадобится проделать другой маршрут, чтобы добраться до редактора Visual Basic. Однако вы в любом случае найдете необходимую команду где-нибудь в меню Tools (Сервис).

Вызов редактора 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 (окно немедленного выполнения)

Выполнение отдельных строк программного кода для немедленного получения результата

© Книги.Онлайн 2025год
Наша самая популярная
электронная библиотека
Вход на сайт
Комментарии и отзывы

Зарубежная литература
Книги СССР
Проза, право
Боевое произведение
Взгляд, политика

Любовные, фэнтези
Современные, детские
Крутые боевики
Магические, самиздат
Юмористические, жуткие