Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

Название Visual Basic for Application можно перевести как «Visual Basic для приложения». В данном случае речь идет о системе программирования языка Visual Basic (Визуальный Бейсик), встроенной в прикладные программы (приложения) пакета MS Office: текстовый редактор MS Word, электронную таблицу Excel, программу презентаций Power Point, систему управления базами данных Access и др. Можно воспользоваться средствами VBA в любой из этих программ, чтобы расширить ее возможности (улучшить интерфейс, задать нестандартные действия или вычисления и т.п.).

Например, с помощью VBA в среде электронной таблицы Excel можно:

– создавать функции пользователя, если недостаточно возможностей стандартных встроенных функций;

– с помощью специального макрорекодера (MacroRecoder) задать автоматическую запись программного кода согласно действиям, выполненным пользователем в электронной таблице;

– создавать различные дополнительные визуальные элементы (окна, панели, кнопки и пр.).

Язык программирования, используемый в VBA, для записи программного кода представляет собой диалект языка Visual Basic, который в свою очередь базируется на классическом алгоритмическом языке Basic (Бейсик).

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

Например, в VBA для Excel может использоваться более 100 встроенных объектов, находящихся на разных уровнях иерархии. Приведем названия некоторых из них: Range – блок (диапазон) ячеек, Cell – ячейка, WorkSheet – рабочий лист, DialogSheet – диалоговое окно, WorkBook – рабочая книга и т.д. Главным в иерархии объектов является объект Application, который представляет собой само приложение Excel. Он имеет более 120 свойств и 40 методов, предназначенных для установки общих параметров приложения.

Система программирования VBA представляет собой интегрированную среду разработки программ, которая включает в себя следующие компоненты: окно проекта, окно для редактирования программного кода (текста программ), окно свойств, окно просмотра объектов и др.

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

В системе VBA работает механизм «событие-отклик», с помощью которого осуществляется управление последовательностью выполнения процедур. Событие представляет собой некоторое действие, распознаваемое объектом. События могут возникать в результате действий пользователя или программы. В роли события может выступать нажатие клавиши на клавиатуре и т.д. Например, для визуального объекта «кнопка» событием является щелчок мышью по этой кнопке на экране.

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

 

Типы данных в языке VBA

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

К простым типам относятся: целый, вещественный, логический.

К структурированным типам относятся: дата; массив; строка; тип, определяемый пользователем.

В таблице 3 приведены названия, обозначения, размер памяти в байтах (занимаемый значением этого типа), а также диапазоны допустимых значений для простых типов данных языка VBA и типов Variant, Object и String.

Целый тип данных в VBA представлен тремя подтипами: Byte, Integer, Long.

Вещественный тип имеет 4 подтипа: Single, Double, Currency, Decimal.

Логический тип обозначается как Boolean.

Таблица 3.

Тип данных Размер памяти (байты) Диапазон значений
Byte (байтовый)   От 0 до 255
Integer (целый)   От -32768 до 32767
Long (длинное целое)   От -2147483648 до 2147483647
Boolean (логический)   True, False
Single (число с плавающей запятой одинарной точности)   От -3,4E+38 до -1,4E-45 и от 1,4E-45 до 3,4E+38
Double (число с плавающей запятой двойной точности)   От -1,8E+308 до -4,9E-324 и от 4,9E-324 до 1,8E+308
Currency (денежный)   От -922337203685477,5808 до 922337203685477,5807
Decimal (число с фиксированной запятой)   От -79228162514264337593543950335 до для целых чисел; от -7,9228162514264337593543950335 до 7,9228162514264337593543950335 для чисел с фиксированной запятой (28 знаков после десятичной точки)
Object (объект)   Любой указатель объекта
String (строка переменной длины) 10+длина строки От 0 до 2 миллиардов
String (строка постоянной длины) Длина строки От 0 до ≈ 65400
Variant (числовые подтипы)   Любое числовое значение вплоть до границ Double
Variant (строковые подтипы) 22+длина строки Как для строки (String) переменной длины
Date (дата)   January 1.100 – December 31.9999 т.е. 01.01.0100 – 31.12.9999

 

Тип данных Строка (String). Строковый тип данных позволяет хранить последовательности символов – строки, которые могут быть постоянной и переменной длины. Строки постоянной (фиксированной) длины – это строки, длины которых ограничены. Они описываются с помощью оператора Dim, согласно следующему синтаксису:

Синтаксис: Dim <идентификатор> As String * <длина строки>

Пример: Dim S As String *10 – описание переменной S как строки с максимальной длиной 10 символов.

В значении типа строка символов могут присутствовать любые символы кодовой таблицы ЭВМ (в том числе русские буквы и т.д.). Строковые значения в программе должны записываться в кавычках.

В VBA для строк может использоваться операция «конкатенация», которая позволяет объединять несколько строк в одну. Она обозначается либо знаком +, либо &.

Пример: S = ”Иванов”

F = S + ” ” + ”Иван”

В результате строковая переменная F примет значение ”Иванов Иван”.

 

Тип данных Variant. Данный тип является особенностью VBA (отсутствует в классическом Бейсике). Переменная типа Variant может содержать данные любого типа. Если для переменной не объявлен тип данных, то по умолчанию используется тип данных Variant.

Переменная, описанная типом Variant, фактически может в одной и той же программе принимать значения разного типа, и это не будет являться ошибкой.

 

Тип данных Массив. В VBA могут использоваться массивы двух типов: статические и динамические. Границы статического массива задаются в программе заранее с помощью оператора Dim.

Синтаксис:

Dim <идентификатор>(<номер последнего элемента>) As <тип эл-тов>

Пример: Dim X(100) As Integer - описание одномерного массива, состоящего из 100 целых чисел.

В VBA, как и в классическом Бейсике, индексирование массива по умолчанию начинается с нуля, т.е. индекс 0 обозначает первый элемент массива, индекс 1 – второй и т.д. Чтобы задать нумерацию элементов массива с 1, необходимо использовать оператор:

Option Base 1

С помощью оператора Dim можно описывать также многомерные массивы (имеющие более одного индекса).

Пример: Dim Y(10,12) As Double – описание двумерного массива вещественных чисел двойной точности, который представляет собой матрицу из 10 строк и 12 столбцов.

Динамический массив используется в том случае, когда размер массива заранее неизвестен. Для его описания также используется оператор Dim, в котором не задаются границы массива, а тип элементов определяется как Variant.

Пример: Dim A() As Variant

Далее в программе, когда станет известен размер массива, может быть задан его фактический размер с помощью оператора ReDim.

Пример: ReDim A(20)

 



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 308; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.212.203 (0.006 с.)