
- •Vba в приложении к Word
- •Практическая работа № 1 “Работа в Wоrd”
- •Практическая работа № 2 “Количество абзацев в документе”
- •Текст программы
- •Практическая работа № 3 “Количество букв “а” (русских) в абзаце”
- •Текст программы
- •Практическая работа № 4 “Предложения в абзаце”
- •Текст программы
- •Практическая работа № 5 “Слова-палиндромы”
- •Текст программы
Текст программы
Public 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 = 24
.Font.ColorIndex = wdDarkRed
End With
End Sub
Строка программы |
Пункт алгоритма |
Private Sub CommandButton3_Click() |
Начало программы |
Dim k As Integer |
1a |
Dim kol As Integer |
1b |
Dim i As Integer |
1c |
Dim Mas() As Integer |
1d |
Dim otvet As String |
1e |
Dim Max As Integer |
1f |
Dim ind As Byte |
1g |
Dim REZULTAT As Range |
1h |
kol = 0: k = 0 |
Обнуление переменных |
k = ActiveDocument.Paragraphs.Count |
2 |
ReDim Mas(k) As Integer |
3 |
Rem Начало программы |
Комментарий |
For i = 1 To k |
4 |
kol = ActiveDocument.Paragraphs(i).Range.Sentences.Count |
4 |
Mas(i) = kol |
4 |
Next i |
4 |
Max = Mas(1) |
Подготовительная часть перед циклом |
ind = 1 |
|
For i = 2 To k |
Начало цикла |
If Mas(i) > Max Then |
5 |
Max = Mas(i) |
5 |
ind = i |
5 |
End If |
5 |
Next i |
Конец цикла |
Rem Вывод результатов |
Комментарий |
otvet = "Самое большое количество предложений в " & ind & " абзаце - " & Max |
6 |
MsgBox otvet |
7 |
Set REZULTAT = ActiveDocument.Paragraphs(ind).Range |
8 |
With REZULTAT |
Начало структуры With |
.Font.Name = "Arial" |
9 |
.Font.Size = 12 |
9 |
.Font.ColorIndex = wdDarkRed |
9 |
End With |
|
End Sub |
Конец программы |
Диалоговое окно с результативным сообщением будет выглядеть так:
Результат выполнения задания представлен на рисунке.
Практическая работа № 5 “Слова-палиндромы”
Задача заключается в том, чтобы программно определить, есть ли в тексте слова-палиндромы и выделить эти слова другим цветом.
Порядок работы.
1. Подготовить текст (можно придумать рассказ или стихотворение со словами-палиндромами ШАЛАШ, КАЗАК, НАГАН, МАДАМ и т.д.).
2. Вызвать панель элементов управления “Вид | Панели инструментов | Элементы управления”.
3. Подготовить кнопку “CommandButton1” на рабочем листе ниже текста.
4. Переименовать кнопку в “Палиндромы”.
5. Придать созданной кнопке формат обтекания по контуру, чтобы ее можно было перемещать по листу.
6. Выбрать в контекстно-зависимом меню этого объекта пункт “Исходный текст” или два раза щелкнуть по кнопке.
Алгоритм выполнения задания следующий:
1. Объявить переменные:
a) Slovo — переменная для последовательного хранения выделенных слов;
b) L — переменная для хранения длины слова;
c) M — переменная, определяющая половину длины выделенного слова;
d) K — переменная для формирования 1-й половины слова;
e) D — переменная для формирования 2-й половины слова;
f) Kol — переменная для хранения количества абзацев в документе.
2. Определить количество абзацев в документе.
3. Определить область, в которой надо искать слова-палиндромы, — это все абзацы текста.
4. Организовать цикл по выделению слов в области определения.
5. Присвоить выделенное слово строковой переменой.
6. Определить длину выделенного слова.
7. Проверить длину слова. Если она равна 1, то слово проверять нет смысла.
8. Организовать цикл, чтобы определить, является ли слово палиндромом.
9. Изменить цвет букв у слова-палиндрома.