Тема: Макрос. Полужирный текст оформить в <b>текст</b>
Добрый день!
Столкнулся с задачей, когда во всем Word-документе необходимо текст, оформленный полужирным, заменить на [ b] текст [ /b].
Подскажите как быть?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый день!
Столкнулся с задачей, когда во всем Word-документе необходимо текст, оформленный полужирным, заменить на [ b] текст [ /b].
Подскажите как быть?
Мне кажется, это можно сделать с помощью шаблона подстановочных знаков. Нужно только подобрать соответствующий шаблон.
мне тоже так казалось, но вряд ли можно решить с помощью шаблона подстановочных знаков
Вот сам макрос какой родил
Sub FormatSelection()
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = True
Selection.Find.Replacement.ClearFormatting
Selection.HomeKey (wdStory)
Do While Selection.Find.Execute(FindText:="", Forward:=True)
With Selection
.Text = "<b>" & Selection.Text & "</b>"
End With
Loop
End Sub
мне тоже так казалось, но вряд ли можно решить с помощью шаблона подстановочных знаков
Вот сам макрос какой родилSub FormatSelection()
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = True
Selection.Find.Replacement.ClearFormatting
Selection.HomeKey (wdStory)
Do While Selection.Find.Execute(FindText:="", Forward:=True)
With Selection
.Text = "<b>" & Selection.Text & "</b>"
End With
Loop
End Sub
Писать на одну строку With Selection - не рационально. Вы уменьшили код на одно слово и добавили 4. И HomeKey писать не обязательно. Если хотите с with то лучше так:
Sub FormatSelection()
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Font.Bold = True
.Wrap = wdFindContinue
Do While .Execute(FindText:="", Forward:=True) = True
.Parent.Font.Bold = wdToggle
.Parent.Range.Text = "<b>" & Selection.Text & "</b>"
Loop
End With
End Sub
Макрос уберёт полужирный, а если вам надо оставить выделение, то уберите строку " .Parent.Font.Bold = wdToggle" и добавьте перед Loop такие строки
.Execute
.Parent.Collapse Direction:=wdCollapseEnd
мне тоже так казалось, но вряд ли можно решить с помощью шаблона подстановочных знаков
Вот сам макрос какой родилSub FormatSelection()
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = True
Selection.Find.Replacement.ClearFormatting
Selection.HomeKey (wdStory)
Do While Selection.Find.Execute(FindText:="", Forward:=True)
With Selection
.Text = "<b>" & Selection.Text & "</b>"
End With
Loop
End Sub
Хороший макрос!
Только лучше добавить еще очистку параметров поиска:
Sub FormatSelection()
Selection.find.ClearFormatting
Selection.find.Font.Bold = True
Selection.find.Replacement.ClearFormatting
Selection.HomeKey (wdStory)
Do While Selection.find.Execute(FindText:="", Forward:=True)
With Selection
.Text = "<b>" & Selection.Text & "</b>"
End With
Loop
Selection.find.ClearFormatting
Selection.find.Replacement.ClearFormatting
End Sub
Также данный макрос, к сожалению, "ломает" автоматический поиск в области навигации (CTRL+F).
Как его "починить" - я, увы, не знаю.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться