- •1. Простейшие конструкции языка Visual Basic
- •2. Функции языка Visual Basic
- •Функции преобразования типов данных
- •Функции даты и времени
- •3. Основные типы алгоритмических структур
- •If Условие Then
- •If Условие Then Действие 1 _
- •Цикл со счетчиком на языке vba.
- •Цикл со счетчиком на языке Visual Basic.
- •Циклы с условием на языке Visual Basic.
- •3.2 Работа с массивами Заполнение массива
- •Поиск в массивах
Цикл со счетчиком на языке vba.
Присвоение объектам значения свойства должно произойти определенное количество раз (14 раз). Воспользуемся для этого циклом со счетчиком. Программа Символы1 примет следующий вид:
Sub Символы1()
For i = 1 То 14
Selection.Characters(i).Bold = True
Next i
End Sub
После выполнения программы все символы выделенного фрагмента текста (слова «проектирование») будут иметь начертание полужирный.
Рассмотрим более сложную задачу. Пусть в рассмотренном выше выделенном фрагменте текста (объект Selection) необходимо для букв «о» установить начертание полужирный (свойство Bold), а для других символов — начертание курсив (свойство Italic).
Присвоение объектам значения свойства в цикле должно произойти в зависимости от выполнения условия (Characters (i) = "о").
Программа Символы2 примет следующий вид:
Sub Символы2()
For i = 1 То 14
If Selection.Characters(i) = "о" _
Then Selection.Characters(i).Bold = True _
Else Selection.Characters(i).Italic = True
Next i
End Sub
В результате выполнения программы получается следующий вид выделенного фрагмента текста:
Рис. 20. Результат выполнения программы Символы2
Цикл со счетчиком на языке Visual Basic.
Пример. Составить программу, которая выводит для всех числовых кодов соответствующие им символы.
Будем определять символы и печатать их, начиная с наибольшего числового кода (255), для этого используем отрицательное значение шага цикла.
Dim strA As String
Sub Command1_Click()
For N = 255 To 0 Step -1
strA = Chr(N)
Form1.Print "Числовой код"; N; " - "; strA
Next N
End Sub
Рис. 21. Коды и символы
Пример. Создать программу, выводящую на печать произвольные числа.
Последовательности случайных чисел можно получить с помощью функции Rnd, которая является генератором случайных чисел. Функция Rnd генерирует случайные числа в числовом интервале от 0 до 1, поэтому для того чтобы получать их в заданном диапазоне (например, от 0 до 100), значение функции необходимо умножать на определенный коэффициент (например, на 100). Чтобы получать в результате целое число, необходимо использовать функцию Int.
Ниже приведена программа, генерирующая и печатающая на форме целые случайные числа в интервале от 1 до 100:
Sub Command1_Click()
For N = 1 То 100
Form1.Print Int(Rnd * 100)
Next N
End Sub
Циклы с условием. Часто бывает так, что необходимо повторить тело цикла, но заранее неизвестно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такой цикл реализуется с помощью инструкции Do . . . Loop.
Условие выхода из цикла можно поставить в начале, перед телом цикла. Такой цикл называется циклом с предусловием.
Проверка условия выхода из цикла проводится с помощью ключевых слов While или Until. Эти слова придают одному и тому же условию противоположный смысл. Ключевое слово While обеспечивает выполнение цикла до тех пор, пока выполняется условие, т.е. пока условие имеет значение «истина». Как только условие примет значение «ложь» выполнение цикла закончится. В этом случае проверяемое условие является условием продолжения цикла.
Ключевое слово Until обеспечивает выполнение цикла до тех пор, пока не выполняется условие, т.е. пока условие имеет значение «ложь». Как только условие примет значение «истина», выполнение цикла закончится. В этом случае проверяемое условие является условием завершения цикла.
Do While Условие
тело цикла
Loop
Do Until Условие
тело цикла
Loop
Рис. 22. Цикл с предусловием
Циклы с условием на языке VBA. Запишем программу Символы в форме цикла с предусловием в двух вариантах: с условием продолжения цикла и с условием завершения цикла.
Программа Символы3() с условием продолжения цикла:
Sub Символы3()
Do While i <= 11
i = i + 1
Selection.Characters(i).Bold = True
Loop
End Sub
Программа Символы4() с условием завершения цикла:
Sub Символы4()
Do Until i = 12
i = i + 1
Selection.Characters(i).Bold = True
Loop
End Sub