Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VBA MS Office

Программирования для MS Office кроме ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: форматирование тескта в ворде
 
 автор: vavilas   (09.02.2009 в 17:40)   личное сообщение
 
 

Привет всем.
Замучался уже с одной проблемой.
Пытаюсь записать макрос для форматирования текста.
Один макрос работает, другой - отказывается. Пробовал копировать код из второго в первый - ничего не помогает.

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>.
Если делать без макроса (тупая замена) все работает, как часы.
В чем может быть проблема в макросе??

  Ответить  
 
 автор: vavilas   (10.02.2009 в 12:06)   личное сообщение
 
 

Помогли знатоки. Вот, что получилось: Только, конечно, хотелось бы узнать синтаксис запроса.


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

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList