Макросы
Алгоритм выполнения задания:
1. Объявить переменные:
a) k — переменная для подсчета количества абзацев в документе;
b) Text — переменная для формирования текста-ответа о количестве абзацев;
c) ZAGOLOVOK — переменная, которая определит область для вывода заголовка.
2. Определить количество абзацев с помощью метода Count объекта Paragraphs.
3. Сформировать текст вывода сообщения.
4. Вставить дополнительный абзац после последнего абзаца документа для вывода сообщения.
5. Вывести текст-сообщение в подготовленный абзац.
6. Сформировать область для вывода заголовка “Протоколы”.
7. Вывести название “Протоколы”.
8. Установить шрифт и размер заголовка.
9. Вставить символ конца абзаца для того, чтобы название и начало текста были на разных строках.
Код:
Public 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
With REZULTAT .Font.Name = "Arial" .Font.Size = 14
.Font.ColorIndex = wdDarkRed End With
|
Set ZAGOLOVOK = ActiveDocument.Range(Start:=0, End:=0)
|
With ZAGOLOVOK
|
.InsertBefore "Протоколы"
|
.Font.Name = "Arial"
|
.Font.Size = 24
|
.InsertParagraphAfter
|
End With
|
End Sub
|
Алгоритм выполнения задания следующий:
1. Объявить переменные:
a) b — строковая переменная для размещения в ней выбранного абзаца в документе;
b) k — переменная для хранения количества абзацев в документе;
c) dl — переменная для хранения длины абзаца;
d) Text — переменная для формирования текста-ответа о количестве символов а в абзаце;
e) Nab — переменная для ввода номера абзаца, в котором будет происходить подсчет;
f) I — переменная для организации цикла;
g) kol — переменная для подсчета символов а;
h) REZULTAT — переменная, которая определит область для вывода заголовка.
2. Ввести номер абзаца, используя диалоговое окно.
3. Определить количество абзацев в документе.
4. Проверить существование введенного номера абзаца и выдать сообщение об ошибке, если такого нет.
5. В переменную b занести текст всего абзаца.
6. Определить длину абзаца.
7. Организовать цикл по нахождению символа а.
8. Сформировать текст вывода сообщения.
9. Вставить дополнительный абзац после последнего абзаца документа для вывода сообщения.
10. Вывести текст-сообщение в подготовленный абзац.
11. Установить определенный шрифт, размер и цвет текста-сообщения
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
|
|