У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


11

i=i+1

MsgBox “№ виконання циклу: ” & i

Wend

ActiveDocument.Name – назва відкритого файлу (документа); ’

Приклад:

Dim ss As String

ss = ActiveDocument.Name

MsgBox “Назва відкритого документа: ” + ss

TypeName(посилання на об’єкт) – тип об’єкта;’

Приклад:

Dim ss As String

ss = TypeName(ActiveDocument)

MsgBox “Відкритий документ має тип: ” + ss

ActiveDocument.Characters.Count – кількість літер відкритого документа;’

Приклад:

Dim k As Long

k = ActiveDocument.Characters.Count

MsgBox “Кількість літер відкритого документа: ” & k

ActiveDocument.Words.Count – кількість слів відкритого документа;

ActiveDocument.Paragraphs.Count – кількість абзаців відкритого документа;

Set ім’я_змінної об’єктного типу – присвоєння змінній об’єкта (частини тексту, таблиці, малюнка MS Word, клітинки MS Excel, тощо);

ActiveDocument.Characters(i) – і-та літера відкритого документа;’

Приклад: вивести 16-ту літеру відкритого документа

Dim s As Range

Set s = ActiveDocument.Characters(16)

MsgBox “16-та літера документа: ” + s

ActiveDocument.Words(i) – текст і-го слова відкритого документа;

ActiveDocument.Paragraphs(i).Range – текст і-го абзацу відкритого документа;

ActiveDocument.Range – увесь текст відкритого документа;

ActiveDocument.Range(m,n) – частина тексту відкритого документа, який знаходиться між літерами з порядковими номерами m+1 та n (діапазон m+1:n) від початку тексту;

ActiveDocument.Paragraphs(i).Range.Start – кількість літер від початку документа до початку і-го абзацу;

ActiveDocument.Paragraphs(i).Range.End – кількість літер від початку документа до кінця і-го абзацу;

ім’я.Select – виокремлення частини тексту, поіменованого командою Set;

Selection.Text – посилання на виокремлений фрагмент тексту;’

Приклад: виокремити 20-й абзац тексту і вивести його на екран

Dim s As Range, kusok as String

Set s = ActiveDocument.Paragraphs(20).Range

s.Select

kusok= Selection.Text

MsgBox “Виокремлений текст: ” + kusok

Лист1.Cells(k, i).Value – значення клітинки (рядок № k, стовпчик № i) листа1 у відкритій таблиці MS Excel.

3. Приклади виконання задач для курсової роботи

Приклад 1. Постановка задачі: виготовити макрос, який видає на екран порядкові номери і текст абзаців відкритого документа MS Word від першого до останнього. Передбачити можливість закінчення програми до завершення кінця документа.

Текст макроса має вигляд:

Rem Видача на екран абзаців тексту відкритого документа

Sub Макрос1()

Dim i As Integer, k As Integer, s As Range

k = ActiveDocument.Paragraphs.Count

i = 1

While i <= k

set s = ActiveDocument.Paragraphs(i).Range

rez = MsgBox(Str(i) + “ “ + s, vbOKCancel, “Читання абзаців відкритого документа”)

If rez = vbCancel Then GoTo mmm

i = i + 1

Wend

mmm: End Sub

При виготовленні цього макроса (заготовки до макроса) за допомогою макрорекордера ніякі операції над текстом не виконувалися. Як тільки появилося на екрані вікно Зупинити запис, була натиснена кнопка Зупинити запис цього вікна, тому використані лише ім’я та початок і кінець макроса.

У програмі оголошені три змінні, які використовуються для:

i – нумерації абцаців під час читання тексту;

k – підрахунку загальної кількості абзаців у документі;

s – запам’ятовування тексту чергового абзацу.

На початку програми підраховується кількість абзаців у тексті і це число присвоюється змінній k (k= ActiveDocument.Paragraphs.Count). Робиться це для того, щоб програма “знала” скільки разів їй необхідно читати абзаци. Далі, змінній і присвоюється число 1 (i=1), це означає, що програма повинна буде читати абзаци, починаючи з 1-го. Основою програми є цикл типу While, всі інструкції, що знаходяться між словами While i Wend, будуть багаторазово повторюватися. Це такі чотири інструкції:

s = ActiveDocument.Paragraphs(i) – читання і присвоєння змінній s тексту чергового абзацу;

rez = MsgBox(Str(i) + “ “ + s, vbOKCancel, “Читання абзаців відкритого документ”) – запуск функції MsgBox, яка видає на екран вікно MsgBox;

If rez = vbCancel Then GoTo mmm – аналіз змінної rez та перехід на мітку mmm:;

i = i + 1 – нарощення змінної і на одиницю.

Дана програма має дві можливості завершення циклу:

за умовою 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 2 3 4 5 6