Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
16. Основы VBA.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
94 Кб
Скачать
☆

4. Основные операторы языка vba

1. Оператор присваивания.

Синтаксис: [Let] <идентификатор> = <выражение>

Данный оператор вычисляет значение выражения, записанного в правой части (после =), и присваивает полученное значение переменной, чей идентификатор записан в левой части (перед равно).

В VBA в левой части может быть записан не только идентификатор переменной, но и идентификатор свойства какого-либо объекта.

Примеры: 1) X = 1, 2) A = ”Академия”, 3) Y = - 1.5, 4) Z = 3 + X ^ 5 – Sin (Х)

2. Условный оператор.

Синтаксис: If <условие> Then <оператор 1> [ Else <оператор 2> ]

Условный оператор находит значение условия – логического выражения. Если оно «истина», то выполняется оператор 1. Если оно «ложь», то выполняется оператор 2.

Примеры:

1) If X>0 Then Y = X^ 2 + 3 Else Y = X ^ 3 – 1 (ветвление)

2) If А>В Then А = В (обход)

Если требуется задать не одно, а сразу несколько действий после Then или Else, то можно воспользоваться блочной формой синтаксиса:

If <условие> Then

<оператор 1>

…

[ Else

<оператор 2>

… ]

End If

Пример:

If X>0 Then

Y = X + Sin ( 3 * X + 8 )

Z = ( Y + 1) / Y ^ 2

Else

Y = 0

Z = 1

End If

3. Оператор цикла с заданным числом повторений.

Синтаксис:

For <идентификатор> = <нач. знач.> To <кон. знач.> [ Step <шаг> ]

<оператор 1>

…

Next <идентификатор>

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

На первом шаге управляющей переменной присваивается начальное значение и выполняется тело цикла (оператор1, …). Затем значение управляющей переменной изменяется на значение шага и опять выполняется тело цикла и т.д.. Последний раз тело цикла выполняется, когда управляющая переменная равна конечному значению.

Если шаг равен 1, его можно не указывать (действует принцип по умолчанию).

Пример:

For I = 1 To 100

Y(I) = X(I) ^ 2 + X(I) ^ 3

S1 = S1 + X(I)

S2 = S2 + Y(I)

Next I

4. Оператор цикла с незаданным числом повторений.

Синтаксис:

While <условие>

<оператор 1>

…

Wend

Вначале проверяется условие цикла, и если оно истинно, то выполняется тело цикла (оператр1, …) и т.д. Цикл завершается, когда при проверке условия оно окажется ложным.

Пример: While X < 15376.78

X = X + X ^ 2

S = S + X

Wend

5. Разбиение строки программы, несколько операторов в одной строке, задание комментариев в тексте программы

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

1. Нельзя разбивать переносом строковые константы.

2. Допустимо не более семи продолжений одной и той же строки.

3. Сама строка программы не может состоять более чем из 1024 символов.

Пример: If X>5 Or Y<0 Then Z = (X + Y) ^ 2 _

Else Z = (X – Y) ^ 2

Использование знака «двоеточие» позволяет наоборот размещать в одной строке программы сразу несколько операторов.

Пример: X = X + 1 : Y = X + 2 : Z = X + Y

Работая с программой, удобно использовать комментарии, т.е. фрагменты программы, не являющиеся программными кодами и игнорируемые компилятором. Комментарии выполняют две важные функции: 1) делают программу легко читаемой, поясняя ее смысл, 2) позволяют временно отключать отдельные фрагменты программы при ее отладке.

В языке VBA можно использовать два способа задания комментариев по тексту программы: 1) с помощью апострофа ’ , который может быть поставлен в любом месте строки и тогда все последующие символы этой строки будут восприниматься как комментарий; 2) вместо апострофа может использоваться слово Rem (данный способ унаследован из классического Бейсика).

Примеры:

1) Dim I As Integer ’ I – переменная целого типа

2) Dim B As String

Rem B – строка символов