Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция Синтаксис VBA для П-5,6.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
121 Кб
Скачать
☆
  1. Синтаксис процедур и функций.

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

Некоторые основные синтаксические принципы этого языка:

  • VBA нечувствителен к регистру;

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

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

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

  • начало нового оператора — перевод на новую строку (точка с запятой, как в C, Java, JavaScript для этого не используется);

  • ограничений на максимальную длину строки нет (хотя в редакторе умещается только 308 символов). Несколько операторов в одной строке разделяются двоеточиями:

  • Dim <Имя> [As <Тип>] –блок описания переменных;

  • Sub, End Sub –служебные слова VBA.

В программном коде на VBA ввод и вывод организуется с помощью встроенных диалоговых окон: окон ввода и окон сообщений. Окно сообщений (процедура MsgBox) выводит простейшие сообщения для пользователя, а окно ввода (Функция InputBox) обеспечивает ввод информации.

Функция InputBox выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки. Затем возвращает значение типа String, содержащее текст, введенный в поле. Синтаксис:

InputBox (promt, [, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Аргументы:

  • prompt – строковое выражение, отображаемое как сообщение в диалоговом окне.

  • title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения.

  • default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым.

  • xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот аргумент опущен, диалоговое окно выравнивается по центру экрана по горизонтали.

  • ypos – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот аргумент опущен, диалоговое окно помещается по вертикали примерно на одну треть высоты экрана.

  • helpfile – строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо также наличие аргумента context.

  • context – числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот аргумент указан, необходимо также наличие аргумента helpfile.

Процедура MsgBox выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем. Затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.

Синтаксис:

MsgBox (prompt, [, button][, title] [, helpfile, context])

Аргументы:

• prompt – строковое выражение, отображаемое как сообщение в диалоговом окне.

• button – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку. Значение этого аргумента по умолчанию равняется 0.

title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения.

helpfile – строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо также наличие аргумента context.

context – числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот аргумент указан, необходимо также наличие аргумента helpfile.

Операторы VBA:

Арифметических операторов в VBA всего 7.

сложение (+),

вычитание (-),

умножение (*),

деление (/)

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

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

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

Оператор присвоения в VBA — знак равенства.

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

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

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

  • больше или равно и меньше или равно (>= и <=), например, If (nVar >= 10);

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

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

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

Операторы сравнения всегда возвращают true или false — true, если утверждение истинно, и false, если ложно.

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

  • AND — логическое И, должны быть истинными оба условия;

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

  • NOT — логическое отрицание, возвращает TRUE, если условие ложно;

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

Пример:

MsgBox "Сообщение пользователю" & vUserName

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