Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



К основным структурным элементам программирования VBA относятся

· Типы данных

· Переменные и константы

· Процедуры ввод и вывод

Допустимые имена

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

1. Длина имени не должна превышать 255 символов.

2. Имя не может содержать точек, пробелов и следующих символов: %, #, @, $.

3. Имя может содержать любую комбинацию букв, цифр и символов, начи­нающуюся с буквы.

4. Имена должны быть уникальны внутри области, в которой они определены.

5. Не следует использовать имена, совпадающие с ключевыми словами VBA и именами встроенных функций и процедур.

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

Типы данных

Типы данных относятся к самим фундаментальным понятиям любого языка. Тип данных определяет множество допустимых значений, которое может принимать указанная переменная. В таблице 5.1. приведены основные типы данных:


Таблица 5.1. Основные типы данных

Тип Содержимое Память, байт Диапазон значений
Byte Целые числа 1 [0;255]
Boolean Логические зна­чения 2 [True, False]
Integer Целые числа 2 [-32768;32767]
Long Целые числа 4 [-2";231-1]
Single Вещественные числа одинарной точности 4 [-2128; -2-149] и [2-149;2128-1]
Double Вещественные числа двойной точности 8 [-21024; -2-1074] и [2-|074;2|024-1]
Currency Денежный (целая часть-до 15 цифр, дробная -до 4 цифр) 8 [-263.10-4; (263-1).10-4]
Date Дата и время 8 [1.01.100;31.12.9999]
Object Объект 4 Ссылка на объект
String Строка постоянной длины Строка переменной длины Длина строки 10+ длина строки [1..65400] [0..2.109]
Variant Числовые подтипы Строковые подтипы 16 22+длина строки Любое числовое значение Как для строки String

Переменные

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

Dim ИмяПеременной1 [ As Тип1] [,ИмяПеременной2 [ As Тип2]]…

Private ИмяПеременной1 [ As Тип1] [,ИмяПеременной2 [ As Тип2]]…

Static ИмяПеременной1 [ As Тип1][,ИмяПеременной2 [ As Тип2]]…

Public ИмяПеременной1 [ As Тип1] [,ИмяПеременной2 [ As Тип2]]…

Параметр     Описание

Dim , Private , Ключевые слова, определяющие, где и как можно

static , Public использовать переменную.

Имя _П еременной   Имя переменной, удовлетворяющее стандартным правилам

Тип         Тип данных переменной. Для каждой описываемой переменной следует использовать отдельное предложение As Тип.

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

Dim N As Integer

Если тип данных при объявлении переменной опущен, то по умолчанию переменная получает тип Variant. Например, следующая инструкция объяв­ляет переменную х типа Variant.

Dim x

Хотя переменные обычно объявляются в начале процедуры или функции, они могут быть объявлены в любом месте до того, как в коде встречается первая ссылка на них. Например,

Dim х As Single

х = 1

Dim y As Single

У = x + 1

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

Таблица 5.2. Символы неявного объявления переменных

Специальный символ Тип
% Integer
& Long
! Single
# Double
@ Currency
$ String

Если переменную в программе заранее не объявлять, то создание будет происходить автоматически при первом же присвоении ей какого-либо значения. Для обязательного объявления переменных в модуле в его начале, в так называемой области модуля General Declaration надо поместить инструкцию Option Explicit . Использование этой инструкции не допускает возможности неправильного ввода имени переменной, которая используется в одной или нескольких процедурах модуля. Если установить в меню Tools команда Options вкладка Editor настройку Require Variable Declaration , то в каждый создаваемый модуль в раздел Declarations будет добавляться оператор Option Explicit.

Область видимости переменной определяет область кода, которая "знает" о существовании данной переменной. При определении переменной в процедуре получить или изменить ее значение можно только из кода этой процедуры. Можно объявить переменной с более обширной областью видимости. Существуют три типа такой области:

· Переменные уровня процедуры распознаются только в процедуре, в которой они описаны при помощи инструкций Dim или Static. Такие переменные называются локальными.

· Переменные уровня модуля используются только в модуле, в котором они описаны перед описанием процедур при помощи инструкций Dim или Private, но не в других модулях данного проекта.

· Переменные уровня модуля, описанные при помощи инструкции Public являются доступными для всех процедур проекта. Такие переменные называются открытыми.

Private переменная [As тип]

Static переменная [As тип]

Public переменная [As тип]

Ключевое слово Private описывает локальные переменные, которые используются только в процедуре, в которой были описаны. Ключевое слово Static описывает переменную тоже как локальную только лишь с той разницей, что последнее значение переменной не будет потеряно. Переменные, описанные с помощью ключевого слова Public являются глобальными.

Константы

Константы, в отличие от переменных не могут изменять своего значения. Синтаксис:

[ Public | Private ] Const ИмяКонстанты [ As Тип] = Выражение

Параметр     Описание

Public     Ключевое слово, используемое на уровне модуля для объявления констант, доступных всем процедурам во всех модулях. Не допускается в процедурах.

Private    Ключевое слово, используемое на уровне модуля для объявления констант, доступных только внутри модуля, в котором віполнено описание. Не допускается в процедурах.

Имя Константы Имя константы, удовлетворяющее стандартным правилам

Тип        Один из поддерживаемых типов. Для каждой константы следует использовать отдельное предложение As Тип.

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

Пример .

Private Const ПроцСтавка As Single = 0.2

Public Const Фирма = "Транспортное агентство: Керчь"

Операции над данными

В программах VBA можно использовать стандартный набор операций над данными. Имеются три типа операций:

· Математические, выполняются над числами и их результатом являются числа;

· Отношения, применяются не только к числам, но и к их результатам и их результатом являются логические значения;

· Логические, применяются логическими выражениями и их результатом являются логические значения

В таблице 5.3. приведены операторы, используемые при различных типах операций.

Таблица 5.3. Виды операторов

Операция Оператор

Математические операторы

Возведение в степень ^
Деление /
Целочисленное деление \
Остаток от деления Mod
Умножение *
Сложение +
Вычитание -
Перемена знака

Операторы отношений

Меньше <
Больше >
Меньше или равно <=
Больше или равно >=
Не равно <>
Равно =
Сравнение двух строковых выражений Like
Вычитание -

Логические операторы

Логическое умножение And
Логическое сложение Or
Логическое отрицание Not

Другие операторы

Сложение строк &

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

Таблица 5.4. Приоритеты операций.

Приоритет Операция
1. Вызов функции в скобке
2. ^
3.  – (смена знака)
4. * и /
5. \ (деление на целое)
6. Mod (остаток от деления на целое)
7. + и –
8. >, <, <=, >=, = и <>
9. Not
10. And
11. Or

Встроенные функции VBA

В VBA имеется большой набор встроенных функций и процедур, использо­вание которых существенно упрощает программирование. Эти функции можно разделить на следующие основные категории:

· математические функции;

· функции проверки типов;

· функции преобразования форматов;

· функции обработки строк;

· функции времени и даты;

· финансовые функции.

В таблице 5.5. рассмотрены основные математические функции.

Таблица 5.5. Математические функции

Функция Возвращаемое значение
Abs(x) Модуль (абсолютная величина) числа
Atn(x) Арктангенс
Cos(x) Косинус
Exp(x) Экспонента, т. е. результат возведения основания натурального ло­гарифма в указанную степень
Log(x) Натуральный логарифм
Rnd(x) Случайное число из интервала [0,1]. Если x меньше нуля, то Rnd возвращает каждый раз одно и то же число. Если x больше нуля или опущено, то Rnd возвращает следующее случайное число в последовательности. Если x равняется нулю, то Rnd возвращает случайное число, возвращенное при предыдущем вызове этой функции. Перед вызовом функции Rnd используется инструкция Randomize.
Sgn(x) Знак числа
Sin(x) Синус
Sqr(x) Квадратный корень из числа
Tan(x) Тангенс
Int(x)

Обе функции Int и Fix отбрасывают дробную часть числа и воз­вращают целое значение. Различие между функциями I nt и Fix состоит в том, что для отрицательного значения параметра x функция I nt возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, a Fix — ближайшее отрицательное целое число, большее либо равное указанному.


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 435; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.029 с.)
Главная | Случайная страница | Обратная связь