Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
78
Добавлен:
31.05.2015
Размер:
57.86 Кб
Скачать

VBA: история

* * *

Язык программирования Visual Basic for Applications, о котором пойдет речь в этой книге, является результатом пересечения двух ветвей развития информационных технологий, - языка программирования Basic и макроязыков текстовых редакторов, программ работы с электронными таблицами и других приложений.

Basic

Basic, язык, чье название является аббревиатурой от английского "Beginner's All-purpose Symbolic Instruction Code" (в переводе - "язык из символьных команд для широкого применения начинающими"), был разработан профессорами американского Дартмутского колледжа Кемени и Курцом в далеком 1965 году. Целью языка было облегчение освоения учениками колледжа, да и вообще начинающими программистами основ создания алгоритмического кода, поэтому его возможности были довольно серьезно ограничены по сравнению с другими языками ради того, чтобы иметь возможность добавить в него обучающие функции. Так, в Basic'е программы могли выполняться построчно, поскольку сам язык был интерпретируемым, - программы хранились не в машинных кодах, а в исходном тексте, и переводились в машинный код при своем запуске. Первые версии Basic'а были довольно примитивными, однако с течением времени язык получил свое развитие. Многие читатели этой книги наверняка еще застали то время, когда "классический" Basic изучали на уроках информатики в школах, помнят пронумерованные строки, односложные команды, элементарный синтаксис.

Для фирмы Microsoft язык Basic имеет особое значение, - в свое время разработка варианта Basic для компьютера Altair 8800 положила начало трудовому программистскому пути ее основателей, Билла Гейтса и Пола Аллена. Поэтому в свое время - в 1989 году, когда пришла пора распределить основные направления создания сред разработки на различных языках программирования между различными фирмами, Microsoft оставила за собой QuickBasic - среду разработки программ на Basic'е, отказавшись, к примеру, от дальнейшей работы над языком программирования Pascal, оставив его фирме Borland, которая, в свою очередь, остановила работы над своей версией Basic'а (впоследствии Pascal стал языком Delphi). QuickBasic даже включался в состав некоторых версий MS-DOS в виде усеченной версии - QBasic (рис. 2.1). В итоге Basic стал тесно связан с операционными системами от Microsoft и на иных платформах практически неизвестен.

02_01.bmp

Рис. 2.1. QBasic - предшественник нынешних Basic'ов.

С созданием первых версий операционной системы Windows фирма Microsoft стала выпускать и средства разработки программ на Basic'е, предназначенные для этой операционной системы. Однако концепция программирования в новых версиях Basic'а изменилась. Так, среда разработки получила визуальный графический интерфейс - такой же, как и у других приложений Windows (что и послужило поводом для перемены названия языка - теперь он стал именоваться Visual Basic). За счет нового интерфейса процесс создания программ стал значительно легче и удобнее, хоть и потребовал определенных усилий по освоению от программистов "старой закалки", привыкших к прежним "орудиям труда".

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

Первая версия Visual Basic была еще очень несовершенной. Но с 1991 года Visual Basic прошел немало этапов развития, и в настоящее время достиг уже своей 6-й версии, позволяющей даже начинающим программистам быстро создавать мощные и удобные приложения.

Макросы

Еще в старом добром русском Lexicon'е, царствовавшем в эпоху 286-х компьютеров и операционной системы MS-DOS первых версий, был встроенный язык программирования. С его помощью можно было несколько автоматизировать работу с текстом. Несмотря на ограниченность набора команд, присутствующих этом языке, некоторые пользователи Lexicon'а умудрялись писать на нем длинные программы...

Да, действительно, - макрокоманды, то есть программы, работающие в среде другой программы, не являющейся операционной системой, широко использовались и используются в различных приложениях1. Например, такие крупные программные комплексы, как CorelDraw, AutoCad обзавелись возможностью создания макрокоманд довольно давно.

Первое время макрокоманды представляли собой простое перечисление в нужном порядке применяемых к данным пользователя встроенных функций программы (например, набор команд работы над текстом в Lexicon'е) и служили простым автоматически выполняемым заменителем действий пользователя. Впоследствии в макроязыках стали предусматриваться и операторы условного перехода (т.е. If…Then) или цикла, что стало приводить к все большей их схожести с реальными языками программирования.

VBA

В программах Microsoft при разработке средств создания макросов за основу был взят, что естественно было ожидать, Visual Basic. В 1993 году этой фирмой было официально заявлено, что ее сотрудники приступают к разработке универсальной системы программирования для Microsoft'овских офисных программ - Visual Basic for Applications. В скором времени все новые версии компонентов Microsoft Office стали снабжаться специальными средствами, позволяющими создавать достаточно мощные макрокоманды.

В Microsoft Office 4.0, включающем в себя Word 6.0, Access 2.0, Excel 4.0, Project 6.0, только два последних компонента включали в себя относительно полноценные версии обьектно-ориентированного языка Visual Basic for Applications (тогда еще самой первой версии - 1.0). В Word 6.0 для создания макрокоманд использовался WordBasic (рис.2.2), состоящий из набора команд работы с текстом документа и нескольких функций работы с файловой системой, примерно такой же язык присутствовал и в Access 2.0. В улучшенной и приспособленной для работы в Windows 95 версии Office - Microsofi Office 95 - положение не изменилось, и в каждом из приложений Office так и осталась собственная среда программирования.

02_02.bmp

Рис. 2.2. WordBasiс - предшественник VBA в Microsoft Word.

При разработке Microsoft Office 97 в его состав была включена переработанная среда разработки Microsoft Visual Basic 5.0, которая с учетом особенностей программирования в среде офисного пакета получила название Visual Basic for Applications 5.0 - по номеру исходной среды. Ее основой стал Редактор VBA - "Visual Basic Editor", в котором, собственно, и создавался программный код. Полностью Visual Basic for Applications применялся в трех приложениях Microsoft Office 97 - Word, Excel и PowerPoint. В Microsoft Access по-прежнему использовалась оригинальная среда программирования, а в Microsoft Outlook применялась серьезно урезанная версия Visual Basic for Applications - VBScript, не включавшая в себя и половины возможностей исходного языка.

Новое развитие Visual Basic for Applications получил в юбилейной, 2000-й версии офисного пакета. На этот раз все компоненты Office получили в свое распоряжение полноценную среду разработки программ: Visual Basic Editor стало можно использовать и в Access, и в Outlook, и даже в Frontpage, вошедшую в состав нового Офиса. В Visual Basic for Applications 6.0, версию, используемую в Microsoft Office 2000, были добавлены многие новые команды, в частности, уже имеющиеся в Visual Basic for Windows версии 6.0. В следующей версии Microsoft Office, Office XP, развитие Visual Basic for Applications было продолжено, хотя нововведения коснулись уже лишь набора команд, который был несколько расширен. В Microsoft Office XP также появилась возможность создания так называемых "смарт-тэгов", компонентов Office, отслеживающих определенные, задаваемые разработчиком смарт-тэга действия пользователя и выполняющих определенную функцию при таких действиях (в случае согласия пользователя). Однако смарт-тэги создаются с помощью специальной среды разработки и с Visual Basic for Applications напрямую не связаны.

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

1 Строго говоря, название "макросы" для них не является точным: в классическом программировании под макросом понимают имеющую имя группу команд, которая подставляется на место этого имени в текст программы перед ее переработкой в машинные коды и служит для облегчения труда программиста.

Соседние файлы в папке VBA для тех кто любит думать (Орлов, 2002)