Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA (методичка).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.3 Mб
Скачать

Оператор lSet

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

LSet имяСтроковойПеременной = СтроковоеВыражение

LSet имяПеременной1 = имяПеременной2

В первом случае результатом присваивания является строка той же длины, что и у значения имяСтроковойПеременной. Если значение выражения СтроковоеВыражение длиннее, то лишние символы справа удаляются, если короче – то заполняются пробелами справа.

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

Например:

Sub ПримерИспользованияОператораLSet()

Dim Строка1 As String, Строка2 As String

Строка1 = "0123456789"

Строка2 = "Влево"

LSet Строка2 = Строка1

MsgBox (Строка2) ‘В результате будет выведено 01234

End Sub

Оператор rSet

Аналогичен предыдущему оператору, но выравнивание происходит справа. Помимо этого, оператор RSet нельзя использовать для присваивания записей.

RSet имяСтроковойПеременной = СтроковоеВыражение

Результатом присваивания является строка той же длины, что и значение имяСтроковойПеременной. Если при этом значение СтроковоеВыражение длиннее, то лишние символы удаляются, короче – заполняются пробелами слева.

Например:

Sub ПримерИспользованияОператораRSet()

Dim Строка1 As String, Строка2 As String

Строка1 = "01234567890123456789"

Строка2 = "Вправо"

RSet Строка1 = Строка2

MsgBox (Строка1) 'В результате будет выведено слово Вправо, выровненное по правому краю ‘Cтроки1

End Sub

9.2Условные операторы

If…Then…Else (оператор ветвления)

Select Case (оператор выбора)

Функция IIf (простое ветвление)

Оператор If…Then…Else

Это стандартный оператор ветвления. Его использование позволяет проверить некоторое условие и, в зависимости от его истинности, выполнить ту или иную группу операторов.

If условие Then [блокОператоров1] [Else блокОператоров2]

Допустима блочная запись оператора:

If условие Then

[блокОператоров1]

[Else

[блокОператоров2]

End If

Или

If условие1 Then

[блокОператоров1]

[ElseIf условие2 Then]

[блокОператоров2]

[ElseIf условиеN Then]

[блокОператоровN]

[Else

[блокОператоров_Else]]

End If

Первая схема оператора работает по следующему принципу:

После слова If стоит условие. В качестве условия можно использовать логическое выражение, возвращающее значение True или False. Также можно использовать арифметическое выражение, в этом случае нулевое значение эквивалентно False, ненулевое – True. Если условие возвращает True, то выполняется блокОператоров1, если FalseблокОператоров2, где блокОператоров – это последовательность операторов, отделенные друг от друга двоеточием. Причем необходим хотя бы один блокОператоров.

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

Проверяется условие1, если оно истинно, то выполняется блокОператоров1 и осуществляется переход к оператору, стоящему за ключевыми словами End If. Если же оно ложно, то проверяется условие2 и т.д. Если проверка дошла до последнего оператора ElseIf и условиеN тоже оказывается ложным (т.е. все выше перечисленные условия ложны), выполняется блокОператоров_Else.

Например:

Sub ПримерИспользованияОператораIf()

'Даны три целых числа. Вывести значение большего.

Dim Число1 As Integer, Число2 As Integer, Число3 As Integer

Dim Max As Integer

Число1 = 123: Число2 = 0: Число3 = -456

Max = Число1

If Max < Число2 Then Max = Число2

If Max < Число3 Then Max = Число3

MsgBox (Max) 'на экран будет выведено число 123

End Sub