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

на главную

Жанры

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-программы обычно выполняются медленнее.

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

Газлайтер. Том 4

Володин Григорий
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 4

Сумеречный стрелок 8

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

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

Винокуров Юрий
19. Кодекс Охотника
Фантастика:
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XIX

Возвышение Меркурия. Книга 3

Кронос Александр
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3

Барон нарушает правила

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

Санек

Седой Василий
1. Санек
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Санек

Довлатов. Сонный лекарь 3

Голд Джон
3. Не вывожу
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь 3

Кремлевские звезды

Ромов Дмитрий
6. Цеховик
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кремлевские звезды

Назад в ссср 6

Дамиров Рафаэль
6. Курсант
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Назад в ссср 6

Ваше Сиятельство 7

Моури Эрли
7. Ваше Сиятельство
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Ваше Сиятельство 7

Особое назначение

Тесленок Кирилл Геннадьевич
2. Гарем вне закона
Фантастика:
фэнтези
6.89
рейтинг книги
Особое назначение

Инферно

Кретов Владимир Владимирович
2. Легенда
Фантастика:
фэнтези
8.57
рейтинг книги
Инферно

Охотник за головами

Вайс Александр
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Охотник за головами

Назад в СССР: 1985 Книга 2

Гаусс Максим
2. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Назад в СССР: 1985 Книга 2