Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Лекция 3. Синтаксис и программные конструкции  языка VBA.

3.1. Основы синтаксиса

Синтаксис VBA почти полностью совпадает с синтаксисом Visual Basic. Рассмотрим основные синтаксические принципы языка.

Язык VBA нечуствителен к регистру, для начала нового оператора используют перевод на новую строку (знак “;” при этом не используется в отличии от многих других языков), ограничений на максимальную длину строки нет (но в редакторе в строке помещается только 308 символов). Несколько операторов в одной строке разделяются двоеточиями.

Укажем также еще некоторые основные требования

● символьные значения должны заключаться в двойные кавычки (");

● максимальная длина любого имени в VBA (переменные, константы, процедуры) — 255 символов;

● для удобства чтения можно объединить несколько физических строк в одну логическую при помощи пробела и знака подчеркивания после него:

MsgBox "это очень длинная строка которую " _

& "надо разбить на кусочки"

В тексте программы можно использовать комментарии.

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

Комментарий может занимать всю строку или располагаться в строке после оператора.

НЕ нашли? Не то? Что вы ищете?

Начало комментария отмечается апострофом.  Чтобы закомментировать код до конца строки, используется одинарная кавычка (') или команда REM;

3.2. Операторы

Оператор — это наименьшая способная выполняться единица кода VBA. Оператор может объявлять или определять переменную, устанавливать параметр компилятора VBA или выполнять какое-либо действие в программе.

Арифметических операторов в VBA всего 7. Четыре стандартных: сложение (+), вычитание (−), умножение (*), деление (/), и еще три:

● возведение в степень (^). Например, 2^3 = 8;

● целочисленное деление (\). Делит первое число на второе, отбрасывая (не округляя) дробную часть. Например, 5\2 = 2;

● деление по модулю (Mod). Делит первое число на второе, возвращая только остаток от деления. Например, 5 Mod 2 = 1.

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

Можно записывать так:

Let nNumber = 10

а можно еще проще:

nNumber = 10

Операторов сравнения в VBA всего 8:

● равенство (=). Например, If (nVar = 10);

● больше, чем (>) и меньше, чем (<). Например, If (nVar > 10);

● больше или равно (>=) и меньше или равно (<=).

● не равно (<>). Например, If (nVar<>10);

● сравнение объектов (Is). Определяет, ссылаются объектные переменные на один и тот же объект или на разные. Например, If (obj1 is obj2);

● подобие (Like). Сравнивает строковый объект с шаблоном и определяет, подходит ли шаблон.

       Операторы сравнения всегда возвращают True (если утверждение истинно) или False (если утверждение ложно).

Приведем некоторые особенности сравнения строковых значений:

● при сравнении строковых значений учитывается регистр;

● пробелы в строковых значениях также учитываются;

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

Option Compare Text

Общий синтаксис оператора Like выглядит так:

Выражение1 Like Выражение2

При этом Выражение1 — это любое текстовое выражение VBA, а Выражение2 — шаблон, который передается оператору Like. В этом шаблоне можно использовать специальные подстановочные символы (табл. 3.1).

Таблица 3.1. Подстановочные символы для оператора Like

Подстановочный символ

Значение

#

Любая одна цифра от 0 до 9

*

Любое количество любых символов (включая нулевое)

?

Любой один символ

[a, b,c]

Любой один символ из приведенного в квадратных скобках списка

[!a, b,c]

Любой один символ, кроме приведенных в списке

Очень часто при проверке нескольких условий используются логические операторы:

And — логическое И. Должны быть истинными оба условия;

Or — логическое ИЛИ. Должно быть истинным хотя бы одно из условий;

Not — логическое отрицание. Возвращает True, если условие ложно;

Xor — логическое исключение. В выражении E1 Xor E2 возвращает True, если только E1 = True или только E2 = True, иначе — False;

Eqv — эквивалентность двух выражений, возвращает True, если они имеют одинаковое значение;

Imp — импликация, E1 Imp E2 возвращает False, если E1 = True и E2 = False, иначе — True.

Почти в любой программе VBA используются операторы конкатенации, т. е. слияния строковых значений. В VBA их два — (+) или (&). Рекомендуется всегда использовать оператор (&).

Порядок применения операторов выглядит так: вначале в выражении вычисляются арифметические операторы, затем операторы конкатенации, следующими идут операторы сравнения и уже в самом конце логические. Если в выражении есть несколько операторов одного типа, то они применяются в обычном порядке — слева направо. При необходимости можно изменять порядок применения операторов при помощи круглых скобок.

3.3. Переменные и типы данных

Переменная — это именованная ячейка в памяти компьютера. Каждой переменной присущ определенный тип данных, например Boolean, Integer и т. д. С помощью оператора присваивания переменной можно присвоить значение. Оператором присваивания служит знак равенства.

Переменные — это контейнеры для хранения изменяемых данных. Без них не обходится практически ни одна программа. Пример работы с переменными в VBA может выглядеть так:

Dim nMyAge As Integer

nMyAge = nMyAge + 10

MsgBox nMyAge

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

Dim Количество As Integer

В одном операторе Dim можно объявить несколько переменных, например:

Dim X As Integer, Пользователь As String, Доход As Currency

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

Объявление с ключевым словом Dim — используется в большинстве случаев. Если переменная объявлена как Dim в области объявлений модуля, то она будет доступна во всем модуле, если в процедуре — только на время работы этой процедуры. Кроме того используют также следующие ключевые слова:

● Private — при объявлении переменных в стандартных модулях VBA значит то же, что и Dim. Отличия проявляются только при создании своих.

● Public — такая переменная будет доступна всем процедурам во всех модулях данного проекта, если вы объявили ее в области объявлений модуля. Если вы объявили ее внутри процедуры, она будет вести себя как Dim.

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

Если нет никаких особых требований, то имеет смысл всегда выбирать область видимости Dim.

       Правила выбора имен в VBA едины для многих элементов (переменные, константы, функции, процедуры и т. п.):

● имя должно начинаться с буквы;

● не должно содержать пробелов и символов пунктуации (исключение — символ подчеркивания);

● максимальная длина — 255 символов;

● должно быть уникальным в текущей области видимости;

● зарезервированные слова (те, которые подсвечиваются синим цветом в окне редактора кода) использовать нельзя.

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

       • str (или s) — String, символьное значение;

       • fn (или f) — функция;

       • sub — процедура;

       • c (или все буквы имени заглавные) — константа;

       • b — Boolean, логическое значение (True или False);

       • d — дата;

       • obj (или o) — ссылка на объект;

       • n — числовое значение;

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

Третья часть нашего объявления (As Integer) — это указание на тип данных нашей переменной. Тип данных определяет, данные какого вида можно будет хранить в этой переменной.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5