2

Я нашел этот макрос, чтобы развернуть, но он разворачивает весь документ, а не только выделенный текст. Как я могу изменить его, чтобы развернуть только выделенный текст?

 Sub pagebreaks()
'
' pagebreaks Macro
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^p^p"
        .Replacement.Text = "|"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "^p"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "|"
        .Replacement.Text = "^p^p"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

2 ответа2

2

"Найти и заменить" может искать символ новой строки (выглядит как двойная буква "P"). подобно ), и только заменить все те, с ничего. Только проходя выделение текста должно работать? Макрос не требуется.

Используйте следующие коды для поиска букв, форматирования, полей или специальных символов. Обратите внимание, что некоторые коды работают, только если включена или отключена опция Использовать подстановочные знаки.

Коды, которые работают в поле «Найти» или «Заменить на поле»

Найти:
Знак абзаца (Знак абзаца)

Тип:
^ р
(не работает в поле «Найти», если включен параметр «Использовать символы подстановки»),

или введите:
^ 13

Или найти повторно и затем удалить (с помощью клавиши удаления), только через выделение текста?

1

Вот какой макрос работает:

  Sub pagebreaks()
    '
    ' pagebreaks Macro
    '
    '


With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "^p^p"
        .Replacement.Text = "|"
        .Forward = True
        .Wrap = wdFindStop
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
End With

With Selection.Find
        .Text = "^p"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindStop
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
End With

With Selection.Find
        .Execute Replace:=wdReplaceAll
        .Text = "|"
        .Replacement.Text = "^p^p"
        .Forward = True
        .Wrap = wdFindStop
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
End With

With Selection.Find
        .Execute Replace:=wdReplaceAll
End With
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .