Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Текст программы




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

 

Строка программы Пункт алгоритма
Private Sub CommandButton2_Click() Начало программы Начало
Dim b As String 1a
Dim k As Integer 1b
Dim dl As Long 1c
Dim Text As String 1d
Dim Nab As Integer 1e
Dim i As Long 1f
Dim REZULTAT As Range 1g
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 Конец программы

Результат выполнения представлен на рисунке.

Практическая работа № 4 “Предложения в абзаце”

Эта практическая работа выполняется с тем же документом, что и работа № 9–2 и 9–3 (или с любым текстом, который состоит из нескольких абзацев). Задача заключается в том, чтобы программно определить номер абзаца, в котором наибольшее количество предложений; выделить сообщение о номере абзаца и о количестве предложений, используя диалоговое окно; выделить этот абзац другим цветом.

Порядок работы.

1. Вызвать панель элементов управления “Вид | Панели инструментов | Элементы управления”.

2. Подготовить кнопку “CommandButton3” на рабочем листе ниже текста.

3. Переименовать кнопку в “Предложения в абзаце”.

4. Придать ей формат обтекания по контуру, чтобы кнопку можно было перемещать по листу.

5. Выбрать в контекстно-зависимом меню этого объекта пункт “Исходныйтекст” или два раза щелкнуть по кнопке (попадаем в редактор в режим написания программы).

Алгоритм выполнения задания следующий:

1. Объявить переменные:

a) k — переменная для хранения количества абзацев в документе;

b) kol — переменная для хранения количества предложений в абзаце;

c) i — переменная для организации цикла;

d) Mas() — массив для занесения количества предложений в абзацах;

e) Otvet — переменная для формирования текста-ответа с результатами;

f) Max — переменная для хранения максимального количества предложений в абзаце;

g) ind — переменная для хранения номера абзаца с максимальным количеством предложений;

h) REZULTAT — переменная, которая определит область абзаца, к которому надо применить элементы форматирования.

При объявлении массива нам неизвестно количество абзацев в документе. Поэтому объявление массива производим в два этапа: 1-й этап — объявление без размера Dim Mas() As Integer; 2-й этап — после определения количества абзацев в документе переопределяем размерность массива ReDim Mas(k) As Integer. Такие массивы называются динамическими.

Кроме этого, чтобы индекс массива начинался с 1, а не с 0 (для удобства работы), в редакторе в начале листа с процедурой укажите команду “Option Base 1”.

2. Определить количество абзацев в документе.

3. Переопределить размерность массива.

4. Организовать цикл по определению количества предложений в абзацах с занесением их размерности в массив и сохранением порядкового номера в массиве, что соответствует номеру абзаца.

5. Организовать цикл по нахождению наибольшего количества предложений в абзаце (работа со сформированным массивом) по стандартному алгоритму.

6. Сформировать текст вывода сообщения.

7. Вывести в диалоговом окне сообщений результат.

8. Определить область абзаца для форматирования.

9. Установить определенный шрифт, размер и цвет текста-абзаца с максимальным количеством предложений.




Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 84; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.