Використання VBA у Word для створення макросів

Протоколы

Електронна пошта являє собою систему, що надає змогу формувати, пересилати, зберігати та читати текстові документи, електронні таблиці в певному форматі, графічні файли, програми тощо. В електронному листі можна застосовувати цифровий підпис та шифрування. Характерною рисою E-mail є те, що вона діє в режимі off-line.

Internet -пейджери - безкоштовні програми для безпосереднього спілкування у мережі. Вони можуть виконувати функції передачі файлів, електронної пошти, голосових повідомлень, новин і т. п. Найкращий та найпоширеніший сучасний Internet-пейджер - ICQ (Аська).

Телеконференція (форум) - послуга Internet, за допомогою якої абонент може залишати своє відкрите повідомлення в мережі. Пізніше його можуть переглянути зацікавлені користувачі і дати таку ж відкриту відповідь. Фактично телеконференції являють собою колективну тематичну електронну пошту.

Списки розсипок - послуга, яка полягає в об'єднанні за одною адресою електронної пошти адрес багатьох передплатників списку розсипки. Якщо на таку адресу надсилається лист, то його одержують всі передплатники цього списку. Ця служба не має власного не має власного протоколу і працює тільки через електронну пошту.

WWW (World Wide Web) - служба прямого доступу, що потребує повноцінного підключення до Internet та дозволяє інтерактивно взаємодіяти з представленою на Web-серверах інформацією. Вона базується на принципі гіпертексту і може представляти інформацію з застосуванням всіх можливих мультимедійних засобів: аудіо, відео, текст, графіка і т.п.

Количество абзацев в этом документе - 6.

Задание №1

Код макроса

Private Sub CommandButton1_Click()

Dim k As Integer

Dim Text As String

Dim ZAGOLOVOK As Range

Dim REZULTAT As Range

k = ActiveDocument.Paragraphs.Count

Text = "Количество абзацев в этом документе - " & k & "."

ActiveDocument.Paragraphs(k).Range.InsertParagraphAfter

ActiveDocument.Paragraphs(k + 1).Range.InsertBefore Text

Set REZULTAT = ActiveDocument.Paragraphs(k + 1).Range

Set ZAGOLOVOK = ActiveDocument.Range(Start:=0, End:=0)

With ZAGOLOVOK

.InsertBefore "Протоколы"

.Font.Name = "Arial"

.Font.Size = 24

.InsertParagraphAfter

End With

End Sub

Задание №2

Количество букв а в абзаце с номером 3 - 22.

Код макроса

Private Sub CommandButton2_Click()

Dim b As String

Dim k As Integer

Dim dl As Long

Dim Text As String

Dim Nab As Integer

Dim i As Long

Dim REZULTAT As Range

kol = 0

Nab = InputBox("Введите номер абзаца", "Подсчитаем буквы а")

k = ActiveDocument.Paragraphs.Count

If Nab > k Then

MsgBox "В тексте нет такого абзаца", 48, "Предупреждение"

End

End If

b = ActiveDocument.Paragraphs(Nab).Range

dl = Len(b)

For i = 1 To dl

If Mid(b, i, 1) = "а" Or Mid(b, i, 1) = "А" Then kol = kol + 1

Next i

MsgBox kol

Text = "Количество букв а в абзаце с номером " & Nab & " - " & kol & "."

ActiveDocument.Paragraphs(k).Range.InsertParagraphAfter

Set REZULTAT = ActiveDocument.Paragraphs(k + 1).Range

With REZULTAT

.InsertBefore Text

.Font.Name = "Arial"

.Font.Size = 14

.Font.ColorIndex = wdDarkRed

End With

End Sub

Задание №3

Private Sub CommandButton3_Click()

Dim k As Integer

Dim kol As Integer

Dim i As Integer

Dim Mas() As Integer

Dim otvet As String

Dim Max As Integer

Dim ind As Byte

Dim REZULTAT As Range

kol = 0: k = 0

k = ActiveDocument.Paragraphs.Count

ReDim Mas(k) As Integer

Rem Начало программы

For i = 1 To k

kol = ActiveDocument.Paragraphs(i).Range.Sentences.Count

Mas(i) = kol

Next i

Max = Mas(1)

ind = 1

For i = 2 To k

If Mas(i) > Max Then

Max = Mas(i)

ind = i

End If

Next i

Rem Вывод результатов

otvet = "Самое большое количество предложений в " & ind & " абзаце - " & Max

MsgBox otvet

Set REZULTAT = ActiveDocument.Paragraphs(ind).Range

With REZULTAT

.Font.Name = "Arial"

.Font.Size = 12

.Font.ColorIndex = wdDarkRed

End With

End Sub