|
|
|
| Привет всем.
Замучался уже с одной проблемой.
Пытаюсь записать макрос для форматирования текста.
Один макрос работает, другой - отказывается. Пробовал копировать код из второго в первый - ничего не помогает.
Sub Макрос1()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^v"
.Replacement.Text = "</p><p align=justify>"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = "</p>^p<p align=justify>"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
А это второй макрос:
Sub Макрос2()
Selection.Find.ClearFormatting
With Selection.Find.ParagraphFormat
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
.Alignment = wdAlignParagraphCenter
End With
Selection.Find.ParagraphFormat.Borders.Shadow = False
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = "<h2>^&</h2>"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Во втором случае макрос должен найти полужирный отцентрированный текст и "обнять" его тэгами <h2></h2>.
Если делать без макроса (тупая замена) все работает, как часы.
В чем может быть проблема в макросе?? | |
|
| |
|
|
|
| Помогли знатоки. Вот, что получилось: Только, конечно, хотелось бы узнать синтаксис запроса.
Sub Макрос2()
'
' Макрос для сайта юридических услуг http://www.uconst.ru
' Макрос записан 09.02.2009 Admin
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Font.Bold=true
.Text = "(<[A-Za-zА-яЁё]@*)^0013"
.Replacement.Text = "<h2>\1</h2>^0013"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub | |
|
| |