Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
250
Добавлен:
12.04.2015
Размер:
2.2 Mб
Скачать

Лабораторная работа №8 обработка строковых выражений в текстовом редакторе word

Цель: Изучить встроенные функции VBA для обработки строковых выражений, научиться составлять программы с проверкой многих условий.

Указания по выполнению

1. В данной лабораторной работе необходимо составить макрос в среде Microsoft Word, который в выделенном фрагменте текстового документа подсчитывает количество русских гласных букв и количе­ство цифр, удаляет все латинские буквы и восклицательные знаки и записывает результат после исходного текста. Описание основных встроенных функций VBA для работы со строками приведено в приложении F. Для создания макроса выполните следующее:

а) перейдите,из Word в среду программирования VBA, используя комбинацию клавиш Alt+Fl 1;

б) добавьте модуль и в окне редактирования модуля наберите следующие команды:

Public Sub Строковые_функции()

' В макросе используются следующие переменные:

' Stвыделенный фрагмент текста

' St1преобразованный текст

' Р - перечень русских гласных букв

' Symочередной символ исходного текста

' KR - количество русских гласных букв

' KN - количество цифр

' i - счетчик цикла

Dim St As String, Stl As String

Dim P As String * 10, Sym As String * 1

Dim KR As Long, KN As Long, i As Long

P = "аеёиоуыэюя"

St = Selection.Text

If Len(St) = 1 Then ' Если не выделен фрагмент текста

MsgBox "Необходимо выделить фрагмент текста"

Exit Sub

End If

For i = 1 To Len(St)

Sym = Mid(St, i, 1) ' выделить очередной символ

' Если символ не является латинской буквой

' или воклицательным знаком

If Not (Sym >= "A" And Sym <= "z") And Sym  "!" Then

If InStr(l, P, Sym) > 0 Then KR = KR + 1

If Sym >= "0" And Sym <= "9" Then KN = KN + 1

Stl = Stl & Sym

End If

Next i

Selection.Text = St & vbNewLine &

"Количество русских гласных букв равно " & KR _

& vbNewLine & "Количество цифр равно " & KN __ vbNewLine & vbNewLine & _

"Преобразованный текст:" & vbNewLine & Stl

End Sub

2. Для проверки работы макроса перейдите в документ Word и вы­полните следующие действия:

а) подготовьте исходный текст, содержащий русские и латинские буквы, цифры, восклицательные знаки;

б) выделите фрагмент текста;

в) выполните макрос и убедитесь, что он работает правильно.

  1. Самостоятельно составьте макросы для решения задач из числа приведенных в приложении G согласно своего варианта.

  2. Подготовьте исходный текст для каждой задачи и проверьте рабо­ту макросов, предварительно выделив нужный фрагмент. Текст мак­росов, контрольные примеры и результаты приведите в отчете по лабораторной работе.

Контрольные вопросы и задания:

  1. С помощью какой функции можно определить длину строкового выражения?

  2. Как работает функция InStr? Какое значение она возвращает, если искомая подстрока не найдена?

  3. Каково назначение функций Left, Right?

  4. Как работает функция Mid? Какое значение она возвращает, если не указан третий аргумент?

  5. Реализуйте с помощью функций InStr и Left выбор из строкового выражения, содержащегося в переменной SearchString, части строки, начиная с первой позиции до первого пробела.

  6. Объясните назначение команд составленного вами макроса.