Автор Елизавета Ж. задал вопрос в разделе Программное обеспечение
Макросы в MS Word. Помогите разобраться, пожалуйста. и получил лучший ответ
Ответ от Ursula Klein[новичек]
Начну с примера.
Мне, как человеку занимающемся иногда программированием, требуется распечатать исходный текст программы, да не просто, а красиво. Например, хочу выделить в тексте программы комментарии курсивом.
Для программы, занимающей несколько листов, вручную выделять все комментарии утомительно. Так давайте напишем макрос!
Итак, начнем: меню Сервис - Макрос - Начать запись.
Делаем доступным макрос для всех документов и приступаем к записи нажав кнопку ОК.
Производим переход в начало файла - жмем Cntrl + Home. Вызываем меню Найти и заменить, вводим текст для поиска "{" и жмем Найти. На первом найденном символе закрываем окно поиска. Далее, держа нажатой клавишу Shift, стрелками курсора выделяем текст комментария включая символ "}". После этого делаем начертание выделенного текста курсивом.
Останавливаем запись макроса.
Теперь идем в редактор Microsoft Visual Basic (Сервис - Макрос - Редактор Visual Basic). Находим наш макрос. Он имеет следующий вид:
Sub Макрос3()
'
' Макрос3 Макрос
' Макрос записан 14.10.2004
'
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
.Text = "{"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=14, Extend:=wdExtend
Selection.Font.Italic = wdToggle
End Sub
Удалив лишнее получим следующий текст макроса:
Sub Макрос3()
'
' Макрос3 Макрос
' Макрос записан 14.10.2004
'
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = "{"
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=14, Extend:=wdExtend
Selection.Font.Italic = wdToggle
End Sub
Теперь добавим цикл по символам для нахождения "}" и выделим необходимое число символов для форматирования в начертание курсивом:
Sub Макрос3()
'
' Макрос3 Макрос
' Макрос записан 14.10.2004
'
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = "{"
Selection.Find.Execute
i = 0
While Selection.Text <> "}"
Selection.MoveRight Unit:=wdCharacter, Count:=1
i = i + 1
Wend
Selection.MoveRight Unit:=wdCharacter, Count:=1
i = i + 1
Selection.MoveLeft Unit:=wdCharacter, Count:=i, Extend:=wdExtend
Selection.Font.Italic = True
Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub
Осталось добавить цикл по всему документу:
Sub Макрос3()
'
' Макрос3 Макрос
' Макрос записан 14.10.2004
'
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = "{"
While Selection.Find.Execute=True
i = 0
While Selection.Text <> "}"
Selection.MoveRight Unit:=wdCharacter, Count:=1
i = i + 1
Wend
Selection.MoveRight Unit:=wdCharacter, Count:=1
i = i + 1
Selection.MoveLeft Unit:=wdCharacter, Count:=i, Extend:=wdExtend
Selection.Font.Italic = True
Selection.MoveRight Unit:=wdCharacter, Count:=1
Wend
End Sub
На этом все. Макрос готов к работе.
Для комментариев, распространяющихся до конца строки (например "//" в начале строки) , алгоритм действий аналогичен, приведу лишь текст макроса:
Sub Макрос4()
'
' Макрос4 Макрос
' Макрос записан 14.10.2004
'
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = "//"
While Selection.Find.Execute = True
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Font.Italic = True
Selection.MoveRight Unit:=wdCharacter, Count:=1
Wend
End Sub
Для чего создаются вирусы и антивирусы ?
Компьютерные вирусы – программы, которые создают программисты специально для нанесения ущерба
подробнее...
Хочу научиться программировать в Ворде, научите пожалуйста
Как нам рассказывали на курсах информатики все настоящие программисты программируют в ворде и
подробнее...
Расскажите про программу OpenOffice.org 3.1, это тоже самое что Microsoft Office Word?
OpenOffice.org 3.1, стал достаточно популярным и востребованным инструментом во многих компаниях и
подробнее...
Комбинация клавиш в MS Word объединение ячеек таблицы
По умолчанию такой комбинации не назначено, но ее можно сделать самостоятельно... (меню
подробнее...
Как можно отредактировать документ в формате .dot ?
*.dot - это файлы шаблонов Microsoft Word. Откройте его Вордом.
#yaimg581719#
подробнее...
Знающим MS Word 2003 - как сделать ссылку на подпись к рисунку в документе?
Возможно более подробно вам смогут подсказать на сайте о ворде wordexpert точка
подробнее...