Найти и заменить длинные блоки текста (Microsoft Word) без потери стилей - PullRequest
0 голосов
/ 05 марта 2020

Я бы хотел найти и заменить длинные блоки текста на разрывы строк в Microsoft Word. С помощью Ctrl + H я могу найти и заменить текст до 255 символов. Но если я хочу найти текст, у которого есть разрывы строк, Ctrl + H не работает. Итак, я посмотрел в inte rnet и нашел следующий код, который помог мне удалить скопированный текст из документа. Но макрос также удаляет стили в документе.

Вот код, который я взял из https://answers.microsoft.com/en-us/msoffice/forum/all/find-replace-long-blocks-of-text-microsoft-word/2fa77e32-9085-4c74-9d11-04d86829442f

Sub Remove_text()
    Dim strText As String
    Dim strReplacement As String
    strText = Selection.Range.Text
    strReplacement = "" 'Use this command to delete the instances of the selected text
    'strReplacement = InputBox("Enter the text to be used for the replacement", "Find and replace long text")
    With ActiveDocument.Range
        .Text = Replace(.Text, strText, strReplacement)
    End With
End Sub

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

До

  • Корова
  • Кролик
  • Утки
  • Креветка
  • Свинья
  • Коза
  • Краб
  • Олень
  • Курица
  • Чайка
  • Страус

После

  • Корова
  • Кролик
  • Утки
  • Креветка
  • Свинья
  • Коза
  • Краб
  • Олень
  • Курица
  • Чайка
  • Страус

Если я запускаю макрос с первым словом в список без жирного и курсива, все слова становятся понятными, как показано ниже.

До

  • Корова
  • Кролик
  • Утки
  • Креветка
  • Свинья
  • Коза
  • Краб
  • Олень
  • Курица
  • Чайка
  • Страус

После

  • Корова
  • Кролик
  • Утки
  • Креветка
  • Свинья
  • Коза
  • Краб
  • Олень
  • Цыпленок
  • Чайка
  • Страус

Приведенный выше список является лишь примером. То же самое происходит и в большом документе. В этом документе все стили будут заменены стилем первого слова. Таким образом, стили всего документа зависят от стиля первого слова. Может ли кто-нибудь помочь мне убрать текст с разрыва строки при сохранении стилей?

1 Ответ

0 голосов
/ 07 марта 2020

То, что вы описываете в своих комментариях, не имеет ничего общего с форматом документа. Удаление текста не меняет формат документа. Однако удаление разрывов разделов может сделать это радикально.

Хочу заметить, что вы радикально изменили описание проблемы с момента ее первого опубликования и получения обратной связи. Ясно, что вы напрасно потратили время, давая плохое описание проблемы.

Примеры в вашем обновленном описании ясно показывают, что вы заменяете содержание, а не просто удалив его. В этом случае, чтобы сохранить форматирование, вам нужно ограничить заменяемый контент тем же диапазоном, что и любой другой формат, который соответствует формату контента, который вы хотите заменить. Либо так, либо вы должны напечатать и отформатировать замещающий контент в точности так, как вы хотите, чтобы он отображался, затем скопируйте его в буфер обмена и используйте ^ c для выражения замены.

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