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

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.