Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика VBA.pdf
Скачиваний:
891
Добавлен:
27.03.2016
Размер:
1.1 Mб
Скачать

2 Основные понятия VBA. Линейные алгоритмы

Программа на алгоритмическом языке представляет собой последовательность операторов – команд языка для записи алгоритма поставленной задачи, и комментариев для пояснения смысла программы.

Основные символы алгоритмического языка (образующие его алфавит):

-строчные и прописные латинские буквы (A,B,...,z);

-строчные и прописные буквы русского алфавита (А, Б,...,я));

-цифры (0,1,...,9);

-символ пробел и специальные символы: = + –*/^ () $% >',": ! ;< : #_

ВVBA строчные и прописные буквы воспринимаются как одинаковые символы (в некоторых других языках программирования (C++, С#– строчная и прописная буква имеет два различных значения).

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

На языке VBA операторы программы начинают с любой позиции строки. Для продолжения на следующую строку за незаконченным оператором надо ставить символы переноса « _» (символ пробела и символ подчеркивания). Если в строке размещают несколько операторов, то их отделяют друг от друга символом «:».

Комментарии для пояснения текста программы могут занимать

16

целую строку и начинаются с ключевого слова REM или символа апостроф («'»). Комментарий, начинающийся с символа «'», может начинаться с любого места строки. Удобно использовать комментарий в начале программы для указания её названия и назначения. Комментарии не имеют переносов.

Пример:

REM Это комментарий ' Это тоже комментарий

2.1 Элементы языка VBA

При написании программы на языке VВА следует знать некоторые правила или соглашения, которых следует придерживаться. Первое соглашение — это соглашение по именам. При создании имен переменных, констант, процедур, функций, объектов и т.д., следует выполнять следующие правила:

-длина имени не должна превышать 255 символов;

-имена должны начинаться с буквы и могут содержать комбинацию букв, цифр и символа подчеркивание;

-имена не должны совпадать со стандартными именами Visual

Basic;

-имена не должны включать точек, пробелов, специальных символов и символов арифметических действий. Символ пробела можно заменить символом подчеркивания «_».

Регистр букв в именах не имеет значения, т.е. следующие имена РRIСЕ, Рriсе и price — эквивалентны. В русифицированных версиях пакета Microsoft Office в именах допустимо использовать символы кириллицы. Однако, помимо не удобства ввода текста программы – необходимость постоянно переключать регистры клавиатуры, это может привести к трудно находимым ошибкам, т.к. некоторые сим-

17

волы латинского и русского алфавитов имеют одинаковое начертание, но разные числовые коды.

Примеры правильной записи имен:

G123, Price, V.

Примеры неправильно записанных имен: 12days – имя начинается с цифры;

Price Sale – имя содержит символ пробела;

Dim – имя совпадает со служебным словом языка.

Ключевые слова — это слова или символы, которые являются элементом языка программирования Visual Basic, это может быть инструкция, имя функции, оператор. Например: SUB, DIM, CONST.

У оператора программы на VBA может быть числовая или текстовая метка, которая набирается перед первым символом оператора. Цифровая метка должна отделятся от оператора как минимум одним пробелом, а символьная метка должна заканчиваться двоеточием.

Пример 2.1. Алгоритм вычисления объема (V) конуса, с радиусом основания R=3 см и высотой H=5 см в виде блок -схемы может быть записан следующим образом.

Начало

R=3

H=5

V = H π R2

3

Печать V

Конец

18

Ниже приводится текст программы на VBA для реализации этого алгоритма.

Sub Primer 2_1()

REM Программа вычисления объема конуса

Dim R As Single, Н As Single ' описание типов

Dim V As Single

' используемых переменных

R=3.0 : H=5.0

' задание исходных данных

V=H*3.141593*R*R/3. ' вычисление объема конуса

MsgBox "Объем конуса рамен" & str(V) ' вывод результата на экран

End Sub

2.2 Типы данных VBA

Данные в зависимости от их свойств, области значений и операций с ними подразделяются на типы. Тип данных (data type) – указывает, что могут хранить данные: целое или вещественное число, строку, дату и т. д. Базовые типы данных VBA приведены в таблице 2.1.

Таблица 2.1 - Типы переменных VBA

Тип переменной

Занимаемый

Диапазон

 

размер памяти

 

 

(байт)

 

 

 

 

1

2

3

Byte (короткое целое)

1

Целые положительные числа

 

 

от 0 до 255

 

 

 

Boolean(логический)

2

True (истина) или False (ложь)

 

 

 

Integer (целое)

2

От -32 768 до 32 767

 

 

 

Long(длинное целое)

4

От -2 147 483 648

 

 

до 2 147 483 647

 

 

 

Single (число с пла-

4

По абсолютной величине

вающей точкой)

 

от 1,401298·10-45

 

 

до 3,402823·10+38

19

Продолжение таблицы 2.1

1

2

3

Date (дата)

8

От 1 января 100 г. до 31 де-

 

 

кабря 9999 г.

 

 

 

Array (массив)

 

Зависит от размера массива и

 

 

типа элементов массива

 

 

 

Double (число с пла-

8

По абсолютной величине от

вающей точкой двой-

 

4,94065645841247·10 -324

ной точности)

 

до 1,79769313486232·10+308

 

 

 

Object (объект)

4

Любой определенный объект

 

 

 

String (строка

10

От 0 до 2х 109 + длина строки

переменной длины)

 

 

 

 

 

Currency (денежный)

8

От -922 337 203 685 477,5808

 

 

до 922 337 203 685 477,5807

 

 

 

Variant (вариант)

 

Зависит от содержимого пе-

 

 

ременной

 

 

 

VBA имеет шесть различных численных типов данных: Byte, Integer, Long, Single, Double и Currency. Численные типы данных ис-

пользуются для хранения чисел в различных форматах, в зависимости от конкретного типа. Типы данных Byte, Integer, Long используются для хранения целых чисел в указанных диапазонах значений. При выходе их этого диапазона интерпретатор VBA генерирует сообщение о переполнении. Типы Single, Double предназначены для хранения чисел, в которых может быть дробная часть. Главное отличие данных этих типов заключается не в том, что порядок чисел типа Double существенно больше, а в том, что мантисса числа типа Single может хранить только 7 цифр, а числа типа Double хранят 15 цифр.

20

Пример.

В числе 123,0=0,123·10+3 – мантисса числа состоит из 3 цифр (123), а порядок числа равен «+3). В числе 0,00123=0,123·10-2 – мантисса числа состоит из 3 цифр (123), а порядок числа равен «-2). Если присвоить объекту VBA типа Single число, мантисса которого содержит в более 7 цифр, то объект сохранит только первые 7 цифр. Так из числа 123456704,93 сохранится значение 123456700,0, из чис-

ла 12345,670493 сохранится значение 12345,67.

Логические значения True и False называют булевыми (Boolean) значениями. Их название связано с именем английского математика Джорджа Буля (George Boole 1815-1864), разработавшего систему математической логики. Тип данных Boolean требует для хранения двух байтов памяти, хотя может иметь только одно из двух значений: True или False. В памяти ЭВМ логические значения хранятся либо в виде единицы, либо в виде нуля.

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

VBA использует тип Date, для хранения даты и времени. Тип Date является типом последовательных дат (serial Dates). Последовательные даты сохраняют дату как число дней от заданной стартовой даты. Базовой датой является 30 декабря 1899. Отрицательные числа используются для определения даты ранее 30.12.1899, а положительные – для определения дат после 30.12.1899. Число 0 представляет 30 декабря 1899 года. 1 января 1900 записывается числом 2 (1.1.1990 – это 2 дня после 30.12.1899), а число минус 1 (-1) определяет дату 29

21