Обзор VBA

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

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

Среди опытных программистов бытует мнение, что BASIC — это несерьёзно. Проанализировать хотя бы название. BASIC (Beginner’s All-purpose Symbolic Instruction Code) — символический код (язык) инструкций для начинающих на все случаи жизни (или для всех целей). Данный язык был сформирован в 1960-х годах, и изначально задумывался как наглядный способ построения различных алгоритмов для студентов колледжей. Однако, данный язык стал очень популярным. С годами BASIC развивался и улучшался. Во многих ранних версиях он был интерпретируемым языком. Каждая строка кода вначале интерпретировалась, а затем только выполнялась, что сильно замедляло время работы программы. В современные версиях языка BASIC программы компилируются, что значительно повышает быстродействие работы программы.

BASIC приобрел популярность к 1991 году, когда компания Microsoft выпустила Visual Basic для Windows. Данный продукт намного упростил разработку обособленных приложений для Windows. Visual Basic почти не имеет ничего общего с ранними версиями BASIC, но он представляет собой основу VBA.

Excel 5 — это первое приложение на рынке программного обеспечения, в котором появился VBA (Visual Basic for Applications). VBA является стандартом написания скриптов для продуктов компании Microsoft и в настоящее время входит в состав всех приложений Microsoft Office, а также приложений других компаний. Примерами таких продуктов могут быть AutoCAD, Coreldraw.

К примеру на моей работе была поставлена задача автоматизировать процесс построения графика по точкам (очень далекое приближение описания того ужасного графика, который получался). Каждая точка представляет собой результат некого анализа. Данный график люди вручную рисовали около двух-трех месяцев в Coreldraw. Была написана программа, в которую они заносили результаты своих анализов. Эти результаты попадали в базу данных. Затем из базы данных, при помощи VBA, тянулись значения, по которым и строился график в Coreldraw. Это было красивое решение такой проблемы. Пользователи были счастливы. Хотя, может быть и нет. Возможно, из-за того, что у них освободилось много времени — на них свалили другую работу. Ну тут уж куда деваться, всё автоматизируется и развивается. Кто не готов это принять — тот за бортом.
Освоив, к примеру, VBA для Excel (чем мы и будем с вами заниматься), вы сможете писать сценарии для других продуктов компании Microsoft, да и не только.
Давайте с вами условимся называть сценарии, программные коды, скрипты в VBA — макросами, потому что они так и называются в VBA. Кроме того, можно создавать программы, которые использует функции различных приложений (например, функции Excel и CorelDraw).


Эффективность применения VBA основана на правильном понимании объектной модели в каждом отдельном приложении. Другими словами, в Excel используется одна объектная модель, в Word — другая, в PowerPoint — третья. VBA только управляет этими объектами. Приложением можно манипулировать программно только при помощью объектов, которые представлены именно в этом приложении.

Так, в объектной модели Excel представлено несколько мощных объектов анализа данных, например рабочие листы, диаграммы, сводные таблицы, сценарии, а также многочисленные математические, финансовые, инженерные и общие функции. С помощью VBA вы можете работать с этими объектами и разрабатывать различные автоматизированные программы, на которые у обычных пользователей без такой автоматизации может уходить много времени. Сначала объектная модель Excel может показаться очень сложной, но это только в начале пути.

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

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.

Внимание вопрос: как вы думаете, будет ли популярен этот язык лет через 5? Ответы пишите в комментариях.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *