Vba язык программирования кратко

Обновлено: 08.07.2024

Как и любой другой язык Visual Basic имеет свой алфавит. В него входят:
· прописные и строчные буквы латинского алфавита (A, B, . Z, a, b, . z);
· прописные и строчные буквы кириллицы (А – Я, а –я);
· цифры от 0 до 9;
· символ подчеркивания “_”.

Из этих символов конструируются идентификаторы – имена переменных, констант, процедур, функций, меток переходов, а также имена типов. Кроме этих символов в состав алфавита также входят:
· не изображаемые символы (“обобщенные пробельные символы”), используемые для отделения лексем друг от друга (пробел, табуляция, переход на новую строку);
· специальные символы, участвующие в построении конструкций языка;
· составные символы, воспринимаемые как один символ: = <> .Разделители в составных символах недопустимы.

Программный код Visual Basic представляет собой последовательность лексических единиц (лексем), записанных в соответствии с принятыми синтаксическими правилами, которая реализует некоторую семантическую конструкцию.
Для обеспечения читаемости и понятности в тексте программы помещаются комментарии. В Visual Basic определен однострочный комментарий. Комментарий представляет собой последовательность любых символов, размещаемых на одной строке исходного текста программы, которая начинается со знака “ ‘ “(апостроф) или с ключевого слова Rem :
Это комментарий
Rem Это тоже комментарий

Лексема – это единица текста программы, которая имеет определенный смысл для компилятора и которая не может быть разбита в дальнейшем.
В Visual Basic различают шесть классов лексем:
- свободно выбираемые и используемые идентификаторы;
- служебные (зарезервированные) слова;
- константы;
- строки (строковые константы);
- операции (знаки операций);
- разделители (знаки пунктуации).

Посредством идентификаторов обозначают имена переменных, констант, процедур и функций. Идентификатор представляет собой последовательность букв, цифр и символов подчеркивания. Выбирая идентификатор для имени, следует учитывать два обстоятельства. Во-первых, имя должно быть содержательным, т.е. отражать назначение переменной, что делает программу более читабельной. Во-вторых, Visual Basic накладывает на имена следующие ограничения:
· имя должно начинаться с буквы;
· имя не должно содержать точки, пробела, разделительных символов, знаков операций, а также специальных символов;
· имя должно быть уникальным, оно не должно совпадать с зарезервированными словами Visual Basic или с другими именами;
· длина имени может включать до 255 символов, но следует иметь в виду, что Visual Basic учитывает только первые 31 символов от начала имени.

Примеры правильных имен:

strMyName, i, intNumOne, StrInputValue, intNumber2, strФамилия, Номер, Адрес _Организации и т.п.

Примеры неправильных имен:

2Week - имя начинается с цифры;
_Номер – имя начинается со знака подчеркивания;
Second . Week - в имени есть точка;
Dim, As, Private - эти слова являются зарезервированными;
Number One - в имени есть пробел.

В Visual Basic, как и в других языках программирования, есть зарезервированные (ключевые) слова, которые нельзя выбирать в качестве идентификаторов имен. Перечень зарезервированных слов приведен в таблице.


Первые версии Visual Basic не снискали успеха среди разработчиков. Графический интерфейс, а потом и подсветка синтаксиса являлись едва ли не единственным отличием от QBasic. Microsoft начала вносить значительные перемены лишь с версии 3.0. В комплектации Professional разработчики получили возможность работать с базой данных Access, графические возможности позволяли работать с языком даже не программистам. Кроме того, повысилось быстродействие и упростилась установка ПО.

Visual Basic в наши дни

VB — инструмент для быстрого создания Windows-приложений. После смены концепции язык обрел:

  • поддержку ООП с конструкторами, деструкторами и наследованием;
  • свободную многопоточность;
  • компиляцию в байт-код, исполняемую при помощи CLR;
  • структурную обработку исключений;

Другим популярным наследником является Visual Basic for Applications (VBA). Это урезанный VB 6.0 для обработки макросов, создания скриптов, который упрощает работу внутри ОС.

В AutoCAD, CorelDraw, SolidWorks и, конечно же, Microsoft Office вы можете экспортировать данные, структурировать информацию, подключать БД. Даже на бытовом уровне вам пригодится умение создавать автозаполняемые формы, вытягивать информацию в один клик из Excel. В работе, не обязательно связанной с программированием, VBA упростит создание технических документов, чертежей и планов.

Литература

Обучение языку лучше начинать с VBA. Во-первых, он проще, во-вторых, целевые продукты вам прекрасно известны, в-третьих, ограничения позволят вам сконцентрироваться на языке. Считается, что для изучения VBA вам понадобится 30 часов. Фактически — не более 15. Можете взять за основу одну из следующих книг:

  • Excel 2013. Профессиональное программирование на VBA, Джон Уокенбах.
  • Решение научных и инженерных задач средствами Excel, VBA и C C++, Игорь Гайдышев.
  • VBA для “чайников”, Стив Каммингс.
  • Самоучитель VBA, Андрей Гарнаев.
  • Access. Программирование на VBA, подборка статей.

На годы обращать внимания не стоит, здесь важнее практические навыки.

Заключение

В 1964 году на свет появился язык BASIC. Он разрабатывался для учебных целей, чтобы студенты вузов с помощью простых алгоритмов изучать программирование. BASIC стал настоящим прорывом в образовании, а в реальной жизни программисты соревновались в создании диалектов. Среди очарованных языком гиков оказался Билл Гейтс. В 13 лет он написал на нем свою первую программу, в 20 — зарабатывал деньги реализацией версии Altair BASIC, разработанной им совместно с Полом Алленом.

В 80-е годы популярность BASIC пошла на спад. Новые языки программирования избавились от сложного синтаксиса, при этом их возможности возросли. И только Microsoft продолжал гнуть свою линию, выпустив сначала еще один бестселлер QBasic, а потом и героя сегодняшнего текста — Visual Basic.

Краткая справка

Первые версии Visual Basic не снискали успеха среди разработчиков. Графический интерфейс, а потом и подсветка синтаксиса являлись едва ли не единственным отличием от QBasic. Microsoft начала вносить значительные перемены лишь с версии 3.0. В комплектации Professional разработчики получили возможность работать с базой данных Access, графические возможности позволяли работать с языком даже не программистам. Кроме того, повысилось быстродействие и упростилась установка ПО.

Visual Basic в наши дни

VB — инструмент для быстрого создания Windows-приложений. После смены концепции язык обрел:

  • поддержку ООП с конструкторами, деструкторами и наследованием;
  • свободную многопоточность;
  • компиляцию в байт-код, исполняемую при помощи CLR;
  • структурную обработку исключений;

Другим популярным наследником является Visual Basic for Applications (VBA). Это урезанный VB 6.0 для обработки макросов, создания скриптов, который упрощает работу внутри ОС.

В AutoCAD, CorelDraw, SolidWorks и, конечно же, Microsoft Office вы можете экспортировать данные, структурировать информацию, подключать БД. Даже на бытовом уровне вам пригодится умение создавать автозаполняемые формы, вытягивать информацию в один клик из Excel. В работе, не обязательно связанной с программированием, VBA упростит создание технических документов, чертежей и планов.

Литература

Обучение языку лучше начинать с VBA. Во-первых, он проще, во-вторых, целевые продукты вам прекрасно известны, в-третьих, ограничения позволят вам сконцентрироваться на языке. Считается, что для изучения VBA вам понадобится 30 часов. Фактически — не более 15. Можете взять за основу одну из следующих книг:

  • Excel 2013. Профессиональное программирование на VBA, Джон Уокенбах.
  • Решение научных и инженерных задач средствами Excel, VBA и C C++, Игорь Гайдышев.
  • VBA для “чайников”, Стив Каммингс.
  • Самоучитель VBA, Андрей Гарнаев.
  • Access. Программирование на VBA, подборка статей.

На годы обращать внимания не стоит, здесь важнее практические навыки.

Заключение

В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.

Что такое VBA?

VBA - язык (расшифровывается как Visual Basic for Application) был разработан компанией Microsoft. Данный язык не является самостоятельным, а предназначен для автоматизации процессов в пакете MS Office. VBA широко используется в Excel, а также в Access, Word и других программах пакета.

Чтобы работать с VBA кодом, нам нужен редактор, который уже установлен по умолчанию. Вы можете открыть его, нажав комбинацию клавиш " ALT + F11 ".

Объекты (Objects)

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


Главный объект это Application, что соответствует самой программе Excel. Далее следует Workbooks (книга), Worksheets (лист), Range (диапазон, или отдельная ячейка). Например, чтобы обратиться к ячейке "A1" на листе нам нужно будет прописать следующий путь с учетом иерархии:

Application.Workbooks("Архив").Worksheets("Аркуш1").Range("A1").

Таким образом, мы научились обращаться до наименьшего объекта в Excel - ячейки.

Коллекции (Collections)

  • ChartObjects (элемент коллекции объекта ChartObject)
  • Range
  • PageSetup
  • PivotTables (элемент коллекции объекта PivotTable).

Свойства (Properties)

Каждый объект имеет свойства . Например, объект Range имеет свойство Value или Formula.

Worksheets(“Sheet1”).Range(“A1”).Value або Worksheets(“Sheet1”).Range(“A1”).Formula

В данном примере, свойство отображает значение, которое введено в ячейку или введенную формулу.

Также, через свойство Formula можно не только получить формулу, но и записать ее:

Range(“B12”).Formula = “=2+6*100” - вписываем формулу =2+6*100 в ячейку B12.

Методи (Methods)

Теперь давайте рассмотрим, каким образом мы можем управлять содержимым диапазона или ячейки. Для этого в VBA существуют, так-называемые методы (команды "что сделать"). При написании кода методы отделяются от объекта точкой, например:

Range("A1").Select или Cells(1, 1).Select

Данный метод указывает выбрать (Select) ячейку "A1".
Далее, давайте, удалим значение в данной ячейке. Для этого напишем следующий код:

Selection.ClearContents

Здесь программа "берет" то, что мы выделили (Selection) и удаляет его содержимое (ClearContents ).

Этим видео-уроком я хочу начать серию видео-уроков, которые будут посвящены основам работы в программе Microsoft Word.


Основы программирования на языке VBA

Процесс разработки программы на языке VBA – проекта, может состоять из нескольких этапов, в зависимости от конечного результата. Если необходимо получить программу, которая будет производить определенные вычисления или действия, расширяющие математические возможности стандартного приложения Microsoft Office, то достаточно создать программный модуль. Для применения этой программы можно поместить в рабочей области приложения кнопку, нажатие которой будет вызывать выполнение программы. Для этого в приложении необходимо включить панель инструментов с помощью команды Вид Панели инструментов Элементы управления, а затем создать кнопку с соответствующим программным кодом. Либо выполнять программу с помощью команды Сервис Макрос Макросы.

2.1. Объекты, свойства и методы VBA

Одним из основных понятий VBA является объект. Объект – это то, чем вы управляете с помощью программы на языке VBA, например, форма, кнопка, рабочий лист или диапазон ячеек MS Excel. Каждый объект обладает некоторыми свойствами. Например, форма может быть видимой или невидимой в данный момент на экране. Другой пример свойства объекта – шрифт для отображения информации в ячейке (объекте) рабочего листа.

Объект содержит также список методов, которые к нему применимы. Методы – это то, что вы можете делать с объектом. Например, показать форму на экране или убрать её можно с помощью методов Show и Hide.

Таким образом, объект – это программный элемент, который имеет свое отображение на экране, содержит некоторые переменные, определяющие его свойства, и некоторые методы для управления объектом. Например, в MS Excel имеется много встроенных объектов:

Range(“Адрес”)

- диапазон ячеек (может включать только одну ячейку).

Cells(i, j)

- ячейка, находящаяся на пересечении i-й строки и j-го столбца рабочего листа MS Excel (i и j – целые числа).

Rows(№ строки)

- строка с заданным номером.

Columns(№ столбца)

- столбец с заданным номером

Sheets(“Имя”)

- лист с указанным именем.

Sheets(№ листа)

- лист с указанным номером.

WorkSheet

Установка значений свойств – это один из способов управления объектами. Синтаксис установки значения свойства объекта следующий:

Объект. Свойство = Выражение

Основным свойством объектов Cells и Range, является Value (значение), которое, однако, можно не указывать. Например:

Range(“A5:A10”). Value = 0 или Range(“A5:A10”) = 0 – в диапазон ячеек A5:A10 заносится значение 0.

Cells(2, 4). Value = n или Cells(2, 4) = n – в ячейку, находящуюся на пересечении 2-й строки и 4-го столбца (ячейка с адресом “D2”), заносится значение переменной n.

Синтаксис чтения свойств объекта следующий:

Переменная = Объект. Свойство

Xn = Cells(1, 2).Value или Xn = Range(“B1”).Value – переменной Xn присваивается значение из ячейки B1 текущего рабочего листа.

Синтаксис применения методов к объекту:

Объект. Метод

Sheets(2).Activate – сделать активным лист с №2.

Sheets(“Диаграмма”).Delete – удалить лист с именем “Диаграмма”.

Range("A5:A10").Clear – очистить диапазон ячеек A5:A10.

Range("A2:B10").Select – выделить диапазон ячеек A2:B10.

В MS Excel имеются объекты, которые содержат другие объекты. Например, рабочая книга содержит рабочие листы, рабочий лист содержит диапазон ячеек и т.д. Объектом самого высокого уровня является Application (приложение). Если вы изменяете его свойства или вызываете его методы, то результат применяется к текущей работе MS Excel. Например:

Application.Quit - завершение работы с Excel.

Отметим, что точка после имени объекта может использоваться для перехода от одного объекта к другому. Например, следующее выражение очищает вторую строку рабочего листа Май в рабочей книге Отчет:

Application.Workbooks("Отчет").Worksheets("Май").Rows(2).Delete

Нужно отметить следующее:

  • Можно не писать имя объекта Application, так как это подразумевается по умолчанию.
  • При работе с подобъектом уже активизированного объекта нет необходимости указывать содержащий его объект.
  • VBA использует некоторые свойства и методы, которые возвращают объект к которому они относятся (это позволяет быстро указывать нужный объект). Примеры таких свойств: ActiveCell (активная ячейка), ActiveSheet (активный лист), ActiveWorkBook (активная рабочая книга). Так, установить значение активной ячейки можно следующим образом:

ActiveCell.Value .

2.2. Описание данных

Все объекты, которыми оперирует язык программирования VВА, относятся к определенному типу.

Тип данных определяет:

– область возможных значений переменной;

– структуру организации данных;

– операции, определенные над данными этого типа.

Типы данных подразделяются на простые (скалярные) и сложные (структурированные). У простых типов данных возможные значения данных едины и неделимы. Сложные же типы имеют структуру, в которую входят различные простые типы данных. Скалярные типы данных представлены в таблице 2.1.

Читайте также: