MS Word, как автоматически изменить форматирование целых абзацев всего документа?

У меня есть 20-страничный текстовый документ с описательными примечаниями, например:

3 Требования к входным данным
Некоторый текст требования.
ПРИМЕЧАНИЕ. Это описательное примечание о требовании, которое является абзацем, который я хотел бы использовать с функцией поиска и замены или VBA. скрипт для автоматического выбора и изменения форматирования на курсив. Ноты всегда заканчиваются символом возврата каретки: ¶.

Если бы это был просто текстовый документ, а не MS-Word, я бы просто использовал регулярное выражение в редакторе кода, например sublime, чтобы заключить его в _1 _..._ 2_ или что-то в этом роде.

Желательно, есть ли способ сделать это в «расширенной» функции поиска и замены Word? Или, если нет, как лучше всего это сделать в VBA? Я пробовал использовать такую ​​строку поиска в функции find-and-replace: NOTE: *[a-z0-9,. A-Z)(-]{1,255}^l, но часть с разрывом строки, похоже, не работает, а макс. 255 символов недостаточно для многих абзацев.

РЕДАКТИРОВАТЬ: еще одна немного важная деталь: документ автоматически создается из другой части программного обеспечения в виде .RTF, который я быстро преобразовал в .docx.


person tokamak    schedule 26.08.2016    source источник
comment
Попробуйте использовать ^ 13 в качестве возврата каретки.   -  person Christina    schedule 29.08.2016
comment
@Christina, спасибо, это помогло с сопоставлением возврата каретки.   -  person tokamak    schedule 29.08.2016


Ответы (2)


Попытка №2: Используйте Notepad ++ для поиска и замены с помощью регулярного выражения. Удалить кавычки.

Найдите: "(ПРИМЕЧАНИЕ:. *?) \ R"

Заменить на "\ i \ 1 \ i0 \ r"

// СТАРЫЙ

Уверенный. Никаких VBA или причудливых трюков не требуется.

  • CTRL + H, чтобы открыть диалоговое окно замены.
  • Щелкните "Еще".
  • В раскрывающемся меню «Формат» выберите «Шрифт».
  • Щелкните курсивом.
  • Введите найти и заменить текст как одно и то же. Убедитесь, что вы настроили это правильно, чтобы случайно не заменить подстроки (например, цель заменить все "test" на "nice", testing -> niceing).

Должно сработать. Если вам нужно изменить целые абзацы последовательно, то вам, вероятно, следовало использовать стили этих абзацев для начала. Таким образом, вы можете изменить их все сразу, обновив сам стиль.

person Fjallraven    schedule 26.08.2016
comment
Спасибо за ответ. Однако я знаю, что вы обрисовали в общих чертах. Документ автоматически создается из другого программного обеспечения в формате RTF, поэтому создание специальных стилей с самого начала невозможно. Мне нужно найти / выбрать абзацы с чем-то вроде NOTE: [a-zA-Z0-9,.-]+(carriagereturn) на языке псевдо-регулярных выражений и отформатировать курсивом. - person tokamak; 26.08.2016
comment
Стрелять. Извини за это. Почему бы не открыть RTF в возвышенном виде, а затем использовать его, чтобы обернуть текст NOTE: \ i и \ i0. Это должен быть встроенный код для RTF, который сделает текст курсивом. Работает, когда я использую грубую силу, но в этом случае вам нужно только правильно настроить регулярное выражение. - person Fjallraven; 26.08.2016
comment
Спасибо, я сделал именно это в файле RTF. - person tokamak; 29.08.2016

Да, вы можете использовать предварительный поиск. Найти «Далее», а затем «Заменить» делает выделение курсивом.

введите описание изображения здесь

person ForEachLoop    schedule 15.09.2016