копировать только измененный текст в буфер обмена - PullRequest
0 голосов
/ 19 июня 2019

У меня есть вопрос о проблеме, которую мне нужно решить.У меня есть слово документ, по которому я хочу запустить поиск и заменить запрос.Но я не хочу изменять фактический текст, я хочу поместить измененный текст в буфер обмена и оставить фактический без изменений.

Sub SearchAndReplace()

    ' marks all bold words,italic words, underlined
    Selection.Find.ClearFormatting
    Selection.Find.Font.Bold = True
    Selection.Find.Font.Italic = True
    Selection.Find.Font.Underline = wdUnderlineSingle
    Selection.Find.Replacement.ClearFormatting

    With Selection.Find
        .Text = ""
        .Replacement.Text = "[test]^&[/test]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = True
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With

    Selection.Find.Execute Replace:=wdReplaceAll

End Sub

1 Ответ

0 голосов
/ 19 июня 2019

Осторожно: я думаю, есть лучшие способы достичь того, что вы хотите сделать, так как это неправильное кодирование.(Также, поскольку в буфере обмена есть ограничение не более 24 элементов), но для того, чтобы ваш код работал, вот мой ответ:

Чтобы скопировать текст в буфер обмена вместо его замены, вы можете простоиспользуйте метод .copy.

Если вы замените свою строку:

Selection.Find.Execute Replace:=wdReplaceAll

на

Dim iCount As Long 

    Selection.Find.Execute
    Selection.Copy

Do While Selection.Find.Found = True And iCount < 1000
    iCount = iCount + 1

    Selection.Find.Execute
    Selection.Copy
Loop

, она должна работать.

Код просто копирует найденный предмет после каждого поиска.Selection.Find.Execute ищет следующее изменение поиска каждый раз, когда оно появляется в коде.

Если поиск больше не найден (или слишком много поисков), цикл останавливается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...