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

на главную - закладки

Жанры

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

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

Шрифт:

Интегрированная среда разработки приложений VBA

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

Интегрированная среда разработки, предлагаемая VBA, представлена как редактор Visual Basic. Редактор Visual Basic представляет собой окно приложения с одним меню и набором панелей инструментов, в котором вы получаете доступ к целому ряду дочерних окон, обеспечивающих возможность использования всех средств, необходимых для создания программ.

На рис. 1.3 представлена версия редактора Visual Basic, предлагаемая Visio, но выглядит она точно так же, как и те, которые предлагаются в других VBA-приложениях.

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

Рис. 1.3. Внешний вид редактора Visual Basic в Visio

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

* Место для проектирования форм (диалоговых и других окон), которые будут использоваться в создаваемой вами программе.

*Панель, из которой можно выбирать кнопки, флажки и другие элементы управления, которые вы пожелаете поместить в формы (читайте ниже подраздел Элементы управления ActiveX и другие).

* Окно, с помощью которого можно сообщить VBA, как должны выглядеть и что должны уметь делать формы и элементы управления на них.

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

* Окна с текущими значениями переменных- числа и текст, которые в них хранятся и меняются, - во время выполнения программы (эти окна значительно облегчают жизнь, когда наступает сезон охоты на спрятавшиеся в программе ошибки).

Макросы и VBA

Чаше других используется способность VBA объединять в группу последовательность различных команд приложения. Если приходится часто использовать одни и те же команды в одной и той же последовательности, имеет смысл сохранить эту последовательность в виде VBA-программы. В результате вы сможете активизировать всю эту последовательность одной командой - той самой, которая запускает созданную вами с этой целью VBA-программу.

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

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

Элементы управления ActiveX и другие

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

VBA содержит все эти. а также вообще все стандартные для Windows типы элементов управления. Работают они подобно подключаемым компонентам. Чтобы добавить элемент управлений в любую из форм (например, в диалоговое окно), щелкните на соответствующем элементе управления в панели элементов управления (специальной панели инструментов, пример которой показан на рис. 1.5), а затем щелчком на форме прилепите этот элемент к форме.

Благодаря технологии, загадочно называемой ActiveX, можно не ограничиваться элементами управления, предлагаемыми VBA. Разработанная тоже Microsoft, ActiveX определяет стандарт, в соответствии с которым разработчики программного обеспечения создают взаимозаменяемые элементы управления, которые вы можете при желании подключать к своим программам. Элементы управления, предлагаемые VBA, являются элементами управления ActiveX, но, кроме них, есть еще очень много других. Элементы управления ActiveX работают не только в VBA-программах, но и в программах, созданных с помощью C++ или Java.

Чтобы получить возможность использовать в своих VBA-формах новый элемент управления ActiveX, достаточно добавить его в панель элементов управления (за инструкциями обратитесь к главе 14). После этого с ним можно обращаться точно так же, как и с элементами управления, изначально присутствующими в VBA.

Рис. 1.4. Разнообразные элементы управления в диалоговом окне

Рис. 1.5. Панель элементов управления

VBA предлагает целый ряд элементов управления для ваших форм

Любой, кто пожелает, может создавать такие специализированные программные заготовки для своих собственных нужд или же для продажи таким программистам, как вы. Огромные размеры рынка программ для Windows объясняют, почему так велико количество предлагаемых элементов управления ActiveX. Среди них можно обнаружить как усовершенствованные варианты стандартных элементов управления, так и элементы управления совершенно новых типов, например круговые и линейные шкалы, часы, календари и многое другое.

Если VBA не предлагает нужный вам элемент управления, почти наверняка в этом разнообразии вы сможете найти подходящий и купить его. Представление о том, как выглядят элементы управления, можно получить из рис. 1.6.

Для некоторых из элементов управления ActiveX, предлагаемых различными производителями, главным достоинством является их внешний вид. Эти элементы управления функционально более или менее идентичны стандартным, но выглядят лучше. Представьте себе, что вы собираетесь создать приключенческую игру на космическую тему и хотели бы обеспечить игрокам возможность регулировки скорости своих межгалактических лайнеров. Знаю я, знаю - нет таких людей, кто собирается использовать VBA для создания приключенческих игр! Но представьте только на минуту - разве не лучше вместо пары унылых стрелочек, предлагаемых счетчиком, предложить игрокам большие и яркие изображения космических ракет?

Поделиться:
Популярные книги

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

Тринадцатый

NikL
1. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
6.80
рейтинг книги
Тринадцатый

Локки 8. Потомок бога

Решетов Евгений Валерьевич
8. Локки
Фантастика:
фэнтези
боевая фантастика
героическая фантастика
попаданцы
5.00
рейтинг книги
Локки 8. Потомок бога

Надуй щеки! Том 7

Вишневский Сергей Викторович
7. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 7

Кодекс Охотника. Книга XVI

Винокуров Юрий
16. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVI

Система Возвышения. (цикл 1-8) - Николай Раздоров

Раздоров Николай
Система Возвышения
Фантастика:
боевая фантастика
4.65
рейтинг книги
Система Возвышения. (цикл 1-8) - Николай Раздоров

Лейб-хирург

Дроздов Анатолий Федорович
2. Зауряд-врач
Фантастика:
альтернативная история
7.34
рейтинг книги
Лейб-хирург

Медиум

Злобин Михаил
1. О чем молчат могилы
Фантастика:
фэнтези
7.90
рейтинг книги
Медиум

Личный аптекарь императора

Карелин Сергей Витальевич
1. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Личный аптекарь императора

Барон запрещает правила

Ренгач Евгений
9. Закон сильного
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Барон запрещает правила

Законы Рода. Том 2

Андрей Мельник
2. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 2

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2

Убивать чтобы жить 2

Бор Жорж
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 2

Наследие Маозари 8

Панежин Евгений
8. Наследие Маозари
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 8