Пользовательский интерфейс VBA 2 страница

4) длина идентификатора может включать до 255 символов, но VBA учитывает только первый 31 символ;

5) они могут быть простыми и составными.

Пример,

N, I, Number, Номер – простые имена переменных;

ФамилияСтудента – составное имя переменной.

Соглашения по стилю идентификаторов:

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

- имена из прописных букв используются для определения констант;

- название идентификатора нужно начинать со специального знака (приставки или префикса), который указывает на тип данных, связанный с этим идентификатором.

 

2.4.3 Объявление переменных

 

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

Основной принцип VBA.

Каждый именованный объект (переменная, константа), перед своим использованием должен быть предварительно объявлен (декларирован).

Декларация переменных:

При объявлении переменной надо указать, что объявляется переменная:

- задать имя переменной

- указать ее тип.

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

Синтаксис:

Static | Public | Private | Dim <имя Переменной1> [As <тип данных1>], [<имя Переменной2>[As <тип данных2>]]…

где

Dim (dimension – размер) – ключевое слово, которое сообщает VBA, что декларируется переменная и резервируется область памяти для хранения;

Имя переменной – имя переменной (идентификатор, не входящий в перечень ключевых слов VBA);

As (как) – ключевое слово, которое сообщает VBA, что определяется тип данных для переменной;

Тип – тип данных для объявляемой переменной;

Private (Частный), Public (Общий) – ключевые слова, определяющие область видимости переменной;

Static (Статический) – ключевое слово, которое определяет, сохраняет ли переменная свое значение при завершении блока программы (процедуры, функции) и выходе из него.

Пример 1.

Dim intName As Integer

Если Тип переменной не объявлен, по умолчанию переменная получает тип Variant.

Примечание. Распространенная ошибка в VBA заключается в использовании следующей инструкции:

Dim a, b As Long

Переменная b имеет тип Long, а переменная а – тип Variant.

 

2.4.4 Объявление констант

 

Константы могут быть неименованными и именованными.

Неименованные константы: символьные, целые и вещественные.

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

Пример 1.

“Р”, “Program”, “3.14”, “+”

2 Целые константы

Пример 1.

-3, -485, 44, 0

3 Вещественные константы

Представляются в памяти ЭВМ в двух формах:

- в форме с десятичной точкой (фиксированной): 0.1, -0.125;

- в форме с плавающей точкой вида <мантисса>Е<порядок>: 7.32Е+00 (=7.32), 1.5Е-02 (=0.015).

Встроенные константы (предопределенные).

Такие константы используются при работе с объектами приложения. Эти константы не требуют предварительного описания.

Встроенные в VBA константы имеют префикс VB. Для того чтобы узнать конкретное значение константы, можно воспользоваться окном “Object Browser” (Обозреватель объектов).

Пример 2.

MsgBox "Текстовое сообщение", vbInformation

(предопределенная константа vbInformation указывает, что в окне сообщения должен быть значок «Информация»).

 

Константы, создаваемые пользователем

Синтаксис:

[Public/Private] Const <имя_константы> [As <тип данных>] = <значение константы>,

где

<значение константы> - любое значение или формула, возвращающая значение, которое должно использоваться в качестве константы.

Имя константы и тип данных устанавливаются так же, как и для переменной.

Пример 3.

Const PI As Single = 3.14 ‘Объявлена именованная числовая константа для

‘хранения значения числа Pi

Const Firm = “ООО Бахус”

 

2.4.5 Строковые переменные

 

Различают строки переменной и фиксированной длины.

Строки переменной длины могут содержать до двух миллиардов символов.

Строки фиксированной длины – это строка постоянного размера, указанного при объявлении переменной. Если такой строке присваивается значение более длинное, то лишние символы заполняются пробелами.

Синтаксис:

Dim VarName As String * ДлинаСтроки

где

ДлинаСтроки – целочисленная переменная или константа, содержащая число, которое указывает длину строковой переменной.

Пример 1.

Dim strMyName As String * 20 (объявляется строковая переменная фиксированной длины в 20 символов)

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

Пример 2.

strMy = “Visual” & “Basic for Applications”

 

2.4.6 Области видимости переменных и констант

 

Переменная или константа может существовать и быть доступной для некоторых частей программы и при этом быть недоступной (невидимой) для других частей программы.

Область программы, в которой может быть использована переменная или константа, называется областью видимости переменной.

Если переменная видима, то она доступна и, следовательно, существует.

Переменные или константы можно объявлять в трех местах:

- внутри процедуры (видимы только внутри процедуры);

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

- глобальный уровень видимости (видимы в любой процедуре любого модуля приложения). Объявляются в верхней части модуля в области общих объявлений с помощью оператора Public.

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

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

Операторы объявления:

Dim– объявляет локальные переменные только внутри процедуры или функции, в которых они объявлены.Они сохраняют свои значения, только пока выполняется процедура. При завершении процедуры значении этих переменных теряются.

Static – аналогичный оператору Dim. Отличие: переменные сохраняют свое значение после выхода из процедуры, пока работает программа.

Dim, Private – объявляет переменные на уровне модуля (формы), в котором они описаны, но для других модулей данного проекта не доступны. Объявляются в области описания модуля (перед описанием процедур или функций).

Public – объявляет глобальную переменную на уровне проекта, которая доступна для всех его модулей.

 

2.4.7 Типы данных

 

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

Переменную можно представить как простейший объект программы следующим образом:

 

Переменная
Логический уровень Имя переменной (идентификатор) Тип переменной
Физический уровень Область памяти Формат представления в памяти

 

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

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

 

 

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

Тип Занимаемая память Интервалы значений  
Целочисленные типы  
Byte (целые числа) 1 байт 0…255  
Boolean (логические значения) 2 байта True…False  
Integer (целые числа) 2 байта -32768…32767  
Long Integer (длинные целые числа) 4 байта +/-2.1Е9  
Вещественные типы (типы с плавающей точкой)  
Single (одинарной точности с плавающей точкой) 4 байта -3.402823Е38…-1.401298Е-45 для отрицательных чисел 1.401298Е-45…3.402823Е38 для положительных чисел  
Double (двойной точности с плавающей точкой) 8 байт -1.7976313486232Е308…-4.94065645841247Е-324 для отрицательных чисел 4.94065645841247Е324…1.7976313486232Е308 для положительных чисел  
Строковые типы  
String (текстовая информация - строка фиксированной длины) 1 байт на каждый символ От 1 до 65400  
String (текстовая информация - строка переменной длины) 10 байт + 1 байт на каждый символ От 0 до двух миллиардов символов  
Объектные типы  
Object (Рисунок или ссылка на любой другой объект) 4 байта Ссылка на объект  
Типы Variant  
  Variant значения любого из перечисленных типов данных 16 байт для чисел, 22 байта + 1 байт на каждый символ для строк Любое числовое или строковое значение
               

2.5 Функции в VBA

 

В VBA используются следующие виды функций:

- математические встроенные функции;

- математические функции, не представленные в VBA;

- функции форматирования данных;

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

 

2.5.1 Математические встроенные функции

 

Таблица 2 - Встроенные математические функции VBA

Функция Возвращаемое значение
Abs (x) - абсолютная величина числа
Atn (x) arctg (x) – арктангенс от значения параметра, заданного в радианах
Sin (x) sin (x) – возвращает синус угла от значения параметра, заданного в радианах
Cos (x) cos (x) – косинус указанного в радианах угла
Tan (x) tg (x) – возвращает тангенс угла от значения параметра, заданного в радианах
Exp (x) ex – возвращает число e, возведенное в указанную степень, где е – основание натурального логарифма
Log (x) ln (x) – возвращает натуральный логарифм от значения числового выражения
Sqr (x) - возвращает квадратный корень числового выражения
Rnd (x) Случайное число из интервала [0,1). Перед вызовом функции надо использовать оператор Randomize (рандомизации) – запуск генератора псевдослучайных чисел)
Sgn (x) Возвращает +1, если значение параметра положительно, -1, если отрицательное, 0, если 0
Fix (x) Возвращает результат округления выражения с плавающей точкой до целой части. В случае отрицательного параметра возвращает ближайшее большее отрицательное число
Int (x) Возвращает результат округления выражения с плавающей точкой до целой части. В случае отрицательного параметра возвращает ближайшее меньшее отрицательное число

 



2.5.2 Математические функции, не представленные в VBA

Таблица 3 - Математические функции, не представленные в VBA

Функция Возвращаемое значение
Log(X)/Log(10) lg(х) – возвращает десятичный логарифм от значения числового выражения
Atn arcsin (x) – возвращает арксинус угла от значения параметра, заданного в радианах
Atn arccos (x) – возвращает арккосинус угла от значения параметра, заданного в радианах
Cos (x)/Sin (x) ctg (x) - возвращает котангенс угла от значения параметра, заданного в радианах
Значение числа π Pi = 4 * Atn (1)

 

2.5.3 Функция форматирования данных

 

Для того чтобы представить выражение отформатированным в специфицированном формате, необходимо воспользоваться функцией Format. Она возвращает значение типа Variant (String), содержащее выражение, отформатированное согласно указанным спецификациям.

Синтаксис:

Format (выражение [ , “Имя формата (или символ формата)“])

Именованные числовые форматы, показанные в таблице 4.

 

Таблица 4 - Именованные числовые форматы

Имя формата Описание
General Number Число без разделителя тысяч
Currency Отображает две цифры справа от десятичной точки
Fixed Отображает одну цифру слева и две справа от десятичной точки
Standard Отображает одну цифру слева и две справа от десятичной точки и выводит разделитель тысяч
Percent Отображает число в виде процентов и выводит две цифры справа от десятичной точки
Scientific Использует формат с плавающей десятичной точкой
Yes/No Отображает No, если число равно 0, и Yes – в противном случае
True/False Отображает False, если число равно 0, и True – в противном случае
On/Off Отображает Off, если число равно 0, и On – в противном случае

 

Рисунок 11 - Программа, показывающая работу различных именованных

форматов с помощью окна Immediate

 

2 Пользовательские числовые форматы

При построении пользовательского формата возможно использование символов, указанных в таблице 5.

 

Таблица 5 - Символы пользовательского формата

Символ Описание
Резервирует позицию цифрового разряда. Отображает цифру или нуль. Если у числа, представленного параметром, есть какая-нибудь цифра в той позиции разряда, в которой в строке формата находится 0, функция отображает эту цифру параметра, если нет – в этой позиции отображается нуль. Пример. Debug.Print Format (1.2 ^2, “##.000”)
# Резервирует позицию цифрового разряда. Отображает цифру или ничего. Если у числа, представленного параметром, есть какая-нибудь цифра в той позиции разряда, в которой в строке формата находится #, функция отображает эту цифру параметра, если нет – в этой позиции ничего не отображается. Пример. Debug.Print Format (1.2 ^2, “##.###”)

 

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

. (точка) Резервирует позицию десятичного разделителя. Указание точки в строке формата определяет, сколько разрядов необходимо отображать слева и справа от десятичной точки.
E+,E-, e+, e- Разделитель мантиссы и порядка в экспоненциальном формате. Пример. Debug.Print Format (sin(x) * exp(5), “#.###e+##”)
% Резервирует процентное отображение числа Пример. Debug.Print Format (0.5, «#.%») (отобразится 50 %)
d,m,y Резервирует позицию при выводе дня, месяца, года в категории форматов Data Пример. Debug.Print Format (Now, “dd/mm/yyyy”) (отобразится текущая дата, например 25.09.2005
/ Разделитель дня, месяца, года в категории форматов Data

 

2.5.4 Функции преобразования типов

 

Преобразование строки в число и обратно осуществляют следующие две функции, представленные в таблице 6.

 

Таблица 6 - Функции преобразования типов

Функция Описание
Val (String) Возвращает число, содержащееся в строке string, как числовое значение (Val от англ. Value – значение, String – строка)
Str (number) Возвращает значение типа Variant (String), являющееся строковым представлением числа number. В качестве допустимого десятичного разделителя функция Str воспринимает только точку.
CStr (Выражение) Возвращает числовое выражение или строку в строку
CInt (Выражение) Возвращает числовое выражение или строку в число типа Integer
CSng (Выражение) Возвращает числовое значение или строку в число типа Single

 

2.6 Операторы, выражения и операции

 

Строка с кодом в исходном тексте программы VBA называется программным оператором.

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

Label1.Caption = Time

Правила, применяемые при построении программных операторов, называются синтаксисом.

Программный оператор может включать выражения.

Выражение (Expression) – это комбинация знаков операций и операндов, а также скобки. Назначение любого выражения – получение некоторого значения.

Синтаксическая конструкция выражения:

Операнд1 [операция Операнд2 [операция Выражение]]

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

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

Каждая операция имеет свой приоритет (ранг), как показано в таблице 7. Операции ранга 1 имеют наивысший приоритет и в программном операторе выполняется первым. Операции одного ранга в выражениях выполняются в соответствии с правилами ассоциативности (слева направо или наоборот).

 

Таблица 7 - Приоритеты операций

Приоритет Операция
Выражение, заключенное в скобки ()
Вызов функции
Степень (^)
- (смена знака)
(*) и (/)
(\) деление нацело
Mod (остаток от деления нацело)
(+) и (-)
>, <, >=, <=, <>, =
Not
And
Or

 

Операнды связаны между собой знаками операций

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

- операция присваивания;

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

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

- логические операции;

- строковые операции.

2.6.1 Операция присваивания

 

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

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

Синтаксис:

Имя_Переменной = Выражение

где

Имя_Переменной – имя переменной (идентификатор);

Символ «=» – знак операции присваивания;

выражение – значение (число), комбинация переменных, констант,

функций, связанных знаками операций.

Работа операции присваивания.

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

Пример 1.

x = 2

x = x + 2

(переменной х будет присвоено 4)

Для присваивания переменной ссылки на объект применяется инструкция Set.

В общем случае инструкция Set имеет следующий синтаксис:

Set objectvar = [New] objectexpression [Nothing]

где

New – ключевое слово, которое используется при создании нового экземпляра объекта;

Nothing – позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (т.е. она удаляет объект из памяти).

Пример 2.

Dim A as Object

Set A = cmdOK

MsgBox А.Caption

Инструкция Set присваивает переменной А элемент управления Кнопка с именем cmdOK и далее выводит в окне надпись отображаемую на поверхности кнопки.

 

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

 

Математические операции применяются для записи формул.

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

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

Остальные математические операции называются дополнительными. Они применяются в специальных математических формулах и при обработке текстовой информации.

 

Таблица 8 - Математические операции

Операция Математическое действие
[Операнд1] + [Операнд 2] Сложение
[Операнд 1] – [Операнд 2] Вычитание
-[ Операнд 1] Изменение знака числа
[Операнд 1] * [Операнд 2] Умножение
[Операнд 1] / [Операнд 2] Деление
[Операнд 1] \ [Операнд 2] Целочисленное деление
[Операнд 1] mod [Операнд 2] Остаток от деления по модулю
[Операнд 1] ^ [Операнд 2] Возведение в степень

 

Rezult = 10\3 – результат 3 (целая часть от деления);

Rezult = 10 mod 3 – результат 1 (остаток от деления);

Rezult = 9 ^ 0.5 – результат 34

Rezult = 2 ^ -2 – результат 0.25

Общие правила применения математических операций:

Синтаксис:

Rezult = Операнд1 Операция Операнд2 … Операция ОперандN

где

Rezult – переменная, содержащая результат выполнения оператора;

Операнд1, Операнд2, …, ОперандN – переменные, константы, числовые значения, функции.

 

2.6.3 Операции отношения

 

В отличие от математических операций, результатом выполнения которых может быть любое значение, операция отношения может иметь только два результирующих значения – True (Истина) и False (Ложь), которые могут быть присвоены переменным типа Boolean или определенному свойству объекта. Перечень операций отношения в VBA приведен в таблице 9.

 

 

Таблица 9 - Операции отношений в VBA

Операция Описание
выражение1 > выражение2 Больше. Результат - True, если первый операнд больше второго
выражение1 >= выражение2 Больше или равно. Результат - True, если первый операнд больше или равен второму
выражение1 < выражение2 Меньше. Результат - True, если первый операнд меньше второго
выражение1 <= выражение2 Меньше или равно. Результат - True, если первый операнд меньше или равен второму
выражение1 <> выражение2 Не равно. Результат - True, если первый операнд не равен второму
выражение1 = выражение2 Равно. Результат - True, если первый операнд равен второму

 

Операции отношения применяются для записи выражений условия, результатом выполнения которых являются значения True (Истина) или False (Ложь). Примеры использования операций отношения приведены в таблице 10.

 

Таблица 10 - Операции отношения

Выражение условия Результат
25 <> 30 True (25 не равно 30)
25 < 30 True (25 меньше 30)
25 > 30 False (25 не больше 30)
TextBox1.Text = «Петров» True, если слово Петров является содержимым первого текстового поля, а в противном случае - False
Number >= 100 True, если переменная Number содержит значение не меньше 100, в противном случае False

 

2.6.4 Логические операции

 

Логические операции применяются в логических выражениях. Если существует несколько условий выбора в операциях отношения, то эти операции связываются между собой логическими операциями. Логические операции VBA приведены в таблице 11.

 

Таблица 11 - Логические операции VBA

Операция Описание
(Операнд1) AND (Операнд 2) Логическое умножение. Возвращает True тогда, когда только оба операнда возвращают True
(Операнд 1) OR (Операнд 2) Логическое сложение. Возвращает True тогда, когда хотя бы один операнд возвращает True

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

Not [Операнд] Если условие имеет значение True, то результирующим значением будет False. Если условие имеет значение False, то результирующее значение будет True
[Операнд1] Xor [Операнд2] Если только одно из связываемых условий имеет значение True, то результирующее значение также будет True. Если оба условия имеют одинаковые значения, то результирующее значение будет False

 

2.6.5 Строковые операции

 

В VBA есть только одна операция для работы со строками – это операция конкатенации. Конкатенация позволяет объединить значения двух или нескольких строковых переменных или строковых констант. Знаком операции конкатенации является символ амперсанд (&). При конкатенации строк значение второй строки добавляется в конец первой. Результатом операции является более длинная строка, составленная из исходных строк.








Дата добавления: 2016-03-22; просмотров: 1395;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.066 сек.