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

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

Жанры

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

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

Шрифт:

Рис. 1.6. В этой форме размещены элементы управления, которые не предлагаются стандартно VBA

Но во многих случаях предлагаемые элементы управления ActiveX могут делать то, чего не могут стандартные, например размещать на формах небольшие электронные таблицы с данными. Краткий обзор самых популярных и полезных элементов управления ActiveX различных поставщиков вы найдете в главе 14.

Вы можете даже самостоятельно создавать свои собственные элементы управления ActiveX. Для этого используют Visual Basic 5 или 6 (либо профессиональную версию, либо версию для предприятий).

Объектно-ориентированное

программирование и VBA

В результате своей эволюции Visual Basic превратился в (почти) объектно-ориентированный язык программирования. Хотя освоение приемов работы с объектами и представляет некоторую трудность в начале знакомства с VBA, ожидаемая отдача того стоит. Тонкости программирования объектов будут рассмотрены в главе 12, но уже здесь имеет смысл получить хотя бы поверхностное представление о предмете.

VBA как стандарт (точнее, род стандарта)

Одно из главных преимуществ VBA - то, что это стандарт, т.е. он работает совершенно одинаково во всех VBA-приложениях. Если вы научитесь создавать VBA-программы, скажем, в Microsoft Word, все ваши знания и умения точно так же будут применимы в Visio, AutoCAD и любом другом VBA-приложении.

В таком утверждении доля правды действительно велика, Редактор Visual Basic и все его составляющие идентичны во всех VBA-приложениях (точнее, во всех, где есть редактор Visual Basic). Работает редактор Visual Basic тоже везде одинаково. Это касается, например, процесса создания форм (опять напомню, что формы - это диалоговые и другие окна, создаваемые вами для своих программ). Вы можете создать форму в одном VBA приложении и использовать ее затем в другом. Хотя, честно говоря, проектировать и создать формы в VBA совсем просто. Но когда дело доходит до языка программирования, составляющего ядро VBA, там уже все далеко не так согласованно. С одной стороны, базис языка всегда один и тот же. Например, для определения переменной всегда можно использовать специальное слово Din (напомню, что переменная - это место, где программа хранит число, кусочек текста или нечто другое, что изменяется в процессе выполнения программы). Так, в любом VBA-приложении выражение Dim MyVariable as Integer создает переменную с именем MyVariable и определяет ее как целую, а не как текст или число с десятичными знаками.

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

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

Конечно, совсем не удивительно, что такое специализированное на графических изображениях приложение, как Visio. имеет команды, отличные от команд текстового процессора Word. Печально то, что различные VBA-приложения часто используют разные команды даже для тех возможностей, которые у этих приложений общие. Ярким примером такой несогласованности служат команды настройки меню. Можете ли вы поверить, но даже Word, Excel и PowerPoint - эти вечно целующиеся кузины из семейства Microsoft Office- для настройки некоторых элементов имеют совершенно разные VBA-команды. Ох, нет совершенства в этом мире!

Строго говоря, сам язык VBA остается

одним и тем же во всех VBA приложениях. Он кажется меняющимся, потому что в каждом из приложений есть свой уникальный набор объектов с их собственными методами (командами) и свойствами (характеристиками). Подробнее об объектах, методах и свойствах говорится в главе 12.

VBA 5 против VBA 6

Эта книга охватывает последние толкование VBA - версию б, которая используется в приложениях Office 2000, а также в продуктах iGrafx фирмы Micrografx, Corel WordPerfect 2000 и CorelDraw, VBA 5 вышел из Microsoft Office 97, и большинство VBA-приложений третьих фирм поддерживают именно эту версию VBA. Различия между этими двумя версиями не слишком существенны, так что вы можете практически безболезненно перейти от любой из этих двух версий к другой. И все же вам не помешает ознакомиться со следующим списком наиболее важных отличий.

* Справочная система VBA 5 основана на использовании старой программы WinHelp, вто время как VBA б использует для той же цели новую технологию HTML Help фирмы Microsoft (между прочим, многие до сих пор предпочитают WinHelp).

* В VBA 6 ядро языка VBA пополнили 13 новых функций, предназначенных главным образом для манипуляций с текстом и форматирования значений. Описание встроенных функций VBA с указанием тех из них, которые доступны только в VBA 6, вы найдете в главе 11.

* Формы в VBA 6 могут быть немодальными, в отличие от VBA 5, где все формы - модальные. Здесь я даже не пытаюсь определить эти термины - они подробно обсуждаются в главе 10.

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

Другие диалекты VBA

Большинство VBA-приложений имеют полный фарш- и средство записи макросов, и полноценный редактор Visual Basic, и полную версию языка программирования VBA. К таким 'Кадиллакам VBA-приложений можно отнести Visio, WordPerfect, AutoCAD и, безусловно, 'тяжелую артиллерию от Microsoft - Word, Excel и PowerPoint.

Microsoft Access немного выпадает из общего ряда VBA-приложений. В Access нет средства записи макросов, поэтому программный код макросов придется записывать вручную, - по этой причине они не считаются VBA-макросами. Формы Access (пользовательские диалоговые окна) не переносятся в другие VBA приложения. И в то время как Access 2002 содержит редактор Visual Basic, в Access 97 его нет. Вместо редактора там вы получаете отдельные окна для печатания VBA-кода, отладки и проектирования форм.

В некоторых приложениях (например, в Internet Explorer и Outlook) используется урезанная версия VBA, называемая VBScript. Такие VBScript-приложения не имеют редактора Visual Basic, ла и сам язык программирования не полон. Но все равно этот язык остается достаточно мощным.

VBA против Visual Basic

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

Почему VBA обычно медленнее, чем Visual Basic

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

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

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

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

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

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

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

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

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит