Call FndNRplClrFrmttngи обязательно удалить символы *, сохранить его и закрыть окно редактора. Если все сделано правильно, то в форме создания макросов должны присутствовать:
Selection.Find.Font.Bold = True
Call FndNRpl("", "[*b]^&[/b*]", 1, wdFindContinue, 1, 0, 0, 0, 0, wdReplaceAll)
End Sub
Sub FndNRplClrFrmttng()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
End Sub
Sub FndNRpl(FndTxt, RplTxt, Frwrd, Wrp, Frmt, Cs, WW, AWF, Wldcrds, Exct)
With Selection.Find
.Text = FndTxt
.Replacement.Text = RplTxt
.Forward = Frwrd
.Wrap = Wrp
.Format = Frmt
.MatchCase = Cs
.MatchWholeWord = WW
.MatchAllWordForms = AWF
.MatchWildcards = Wldcrds
End With
Selection.Find.Execute Replace:=Exct
End Sub
Sub MarkUpI()
Call FndNRplaClrFrmttng
Selection.Find.Font.Italic = True
Call FndNRpla("", "[*i]^&[/i*]", 1, wdFindContinue, 1, 0, 0, 0, 0, wdReplaceAll)
End Sub
Sub FndNRplaClrFrmttng()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
End Sub
Sub FndNRpla(FndTxt, RplTxt, Frwrd, Wrp, Frmt, Cs, WW, AWF, Wldcrds, Exct)
With Selection.Find
.Text = FndTxt
.Replacement.Text = RplTxt
.Forward = Frwrd
.Wrap = Wrp
.Format = Frmt
.MatchCase = Cs
.MatchWholeWord = WW
.MatchAllWordForms = AWF
.MatchWildcards = Wldcrds
End With
Selection.Find.Execute Replace:=Exct
End Sub
Sub MarkUpSub()
Call FndNRplacClrFrmttng
Selection.Find.Font.Subscript = True
Call FndNRplac("", "[*sub]^&[/sub*]", 1, wdFindContinue, 1, 0, 0, 0, 0, wdReplaceAll)
End Sub
Sub FndNRplacClrFrmttng()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
End Sub
Sub FndNRplac(FndTxt, RplTxt, Frwrd, Wrp, Frmt, Cs, WW, AWF, Wldcrds, Exct)
With Selection.Find
.Text = FndTxt
.Replacement.Text = RplTxt
.Forward = Frwrd
.Wrap = Wrp
.Format = Frmt
.MatchCase = Cs
.MatchWholeWord = WW
.MatchAllWordForms = AWF
.MatchWildcards = Wldcrds
End With
Selection.Find.Execute Replace:=Exct
End Sub
Sub MarkUpSup()
Call FndNRplaceClrFrmttng
Selection.Find.Font.Superscript = True
Call FndNRplace("", "[*sup]^&[/sup*]", 1, wdFindContinue, 1, 0, 0, 0, 0, wdReplaceAll)
End Sub
Sub FndNRplaceClrFrmttng()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
End Sub
Sub FndNRplace(FndTxt, RplTxt, Frwrd, Wrp, Frmt, Cs, WW, AWF, Wldcrds, Exct)
With Selection.Find
.Text = FndTxt
.Replacement.Text = RplTxt
.Forward = Frwrd
.Wrap = Wrp
.Format = Frmt
.MatchCase = Cs
.MatchWholeWord = WW
.MatchAllWordForms = AWF
.MatchWildcards = Wldcrds
End With
Selection.Find.Execute Replace:=Exct
FndNRplacClrFrmttngЗапуск и использованиеMarkUpB отвечает за расстановку тегов для текста, выделенного жирным шрифтом, MarkUpI – для текста, выделенного курсивом, MarkUpSub – для подстрочных символов и MarkUpSup – для надстрочных символов.
FndNRplaceClrFrmttng
FndNRplaClrFrmttng
FndNRplClrFrmttng
MarkUpB
MarkUpI
MarkUpSub
MarkUpSup
Эти команды можно запускать из меню создания макросов, выбором соответствующей строчки и нажатием кнопки «Выполнить». Также можно задать клавиатурную комбинацию для запуска – выбрать: Сервис → Настройка и нажать кнопку «Клавиатура». В появившемся окне «Настройка клавиатуры» выбрать категорию «Макросы», а рядом – имя команды. В строке «Новое сочетание клавиш» указать нужное вам сочетание, после чего нажать кнопку «Назначить».
Макрос расставляет теги по всему документу сразу и его следует запускать после того, как внесена вся необходимая разметка.Надеюсь, что данное руководство оказалось для Вас полезным, успехов!
Комментарии
Думаю, что код не должен отличаться для разных версий, тут главное - рассказать принцип.
А разрешите поинтересоваться: почему не хотите обновляться до 2007, 2010 или 2013?
А можете подсказать, как помимо всего перечисленного, автоматически вставлять раскраску текста, а так же вставлять в начало абзаца звуковые фрагменты в формате *.wave?
Могу только подсказать, что если найти поисковый признак для шрифта каждого цвета, например: то нужно вставить в конец макроса дополнительно 3 блока кода (см. выше весь код разбит на 4 блока) для каждого из которых изменить имя в первой строке (например, MarkUpRed), во второй строке изменить конструкцию FndNRpl... хотя бы на одну букву (и далее во всем блоке). В итоге в форме создания макросов должны прибавиться 3 MarkUp конструкции и 3 FndNRpl... ClrFrmttng.
Уверен, что все это можно сделать гораздо проще и красивее, но как пока не выяснил.