і на одиницю.
Дана програма має дві можливості завершення циклу:
за умовою i <= k, тоді програма прочитає і видасть на екран всі абзаци від першого (i=1) до останнього (і=k);
при натисканні клавіші Cancel у вікні MsgBox. Тоді функція MsgBox видасть значення – системну константу vbCancel, яка буде присвона змінній rez. Змінну rez аналізує інструкція If rez=vbCancel Then GoTo mmm, яка забезпечує дострокове завершення циклу шляхом виходу на мітку mmm:, установлену після слова Wend. Параметр vbOkCancel дозволяє у вікні виводу мати дві кнопки: Ok i Cancel. Якщо в процесі виконання макроса виявиться натисненою кнопка Ok, то відбудеться продовження роботи циклу.
Приклад 2. Постановка задачі: виготовити макрос, який виокремлює частину тексту між другим і сьомим абзацами.
Текст макроса має вигляд:
Sub Макрос4()
Dim s As Range
Set s = ActiveDocument.Range( _
Start:=ActiveDocument.Paragraphs(2).Range.Start, _
End:=ActiveDocument.Paragraphs(7).Range.End)
s.Select
End Sub
Приклад 3. Постановка задачі: виготовити макрос для редагування рядків таблиці MS Excel, показаної на малюнку 1, яка має стовпчики: Прізвище працівника, Місячний оклад, Дата обліку і Коефіцієнт участі.
Текст макроса має вигляд:
Rem Редагування рядків таблиці MS Excel
Sub Макрос2()
Dim k As Integer, i As Integer, b As Variant, naz(4) As String
naz(1) = "Прізвище працівника": naz(2) = "Місячний оклад": naz(3) = "Дата обліку"
naz(4) = "Коефіцієнт участі"
k = InputBox("Введіть № рядка", "Редагування таблиці", “1”)
While k > 0
For i = 1 To 4
b = Лист1.Cells(k, i).Value
b = InputBox("Введіть значення " + naz(i), "Введення значень", b)
Лист1.Cells(k, i).Value = b
Next i
k = InputBox("Введіть № рядка, для закінчення 0", "Редагування таблиці", k)
Wend
End Sub
Масив naz(4), оголошений у програмі, призначений для зберігання назв стовпчиків таблиці. Ці назви будуть відображатися у вікні InputBox як сервісне обслуговування процесу вводу даних.
Основою програми є два вкладені цикли: зовнішній типу While і внутрішній типу For. У зовнішньому циклі відбувається введення номера рядка таблиці MS Excel за допомогою функції InputBox і присвоєння його значення змінній k. Також у цьому циклі знаходиться внутрішній цикл. Виконуватиметься зовнішній цикл доти, поки значення k > 0, тобто 1 або більше.
Параметр внутрішнього циклу змінна i змінюється від 1 до 4 – за кількістю заданих стовпчиків. Тут зчитується вміст чергової клітинки (b = Лист1.Cells(k, i).Value) у змінну b. Це значення появляється у вікні InputBox, що надає можливість його редагувати та скоротити кількість роботи тому, хто буде вводити дані. Нове значення b переноситься в клітинку (Лист1.Cells(k, i).Value = b).
Програма виконуватиметься, поки у вікно InputBox не буде введено число 0 (k =0).
Перелік використаних літературних джерел
Довідка з додатка до Windows 95 (наприклад, з MS Word: головне меню Довідка Довідка з MS Word. Вікно Довідка MS Word зверху вікна вибрати розділ Зміст у змісті вибрати розділ Відомості про програмування вибрати підрозділ Visual Basic Language Reference вибрати підрозділ з потрібними відомостями – константи, типи даних, об’єкти, оператори, команди і т. д.)
Інформатика. Комп’ютерна техніка. Комп’ютерні технології. Посіб. /За ред. О.І. Пушкаря – К.: Видавничий центр “Академія”, 2001
Глинський Я.М. Практикум з інформатики: Навч. посібник. 4-е вид. – Львів: Деол, 2001
Практикум для лабораторних, курсових та самостійних робіт в системі Visual Basic – Івано-Франківськ, ІФНТУНГ, Факел, 1999