Замена текста по шаблону word

У Word есть мощные возможности поиска, которые позволяют искать вам текст, числа, форматы, параграфы, разрывы страниц, использовать подстановочные символы, коды полей и многое другое. Используя подстановочные символы, вы можете искать просто всё что угодно в вашем документе. Поскольку функция поиска совмещена с заменой, то вы можете также выполнять весьма замысловатые преобразования текста.

Прежде чем мы приступим, поясню пару терминов, которые могут быть не совсем понятными для вас.

Регулярное выражение — это условное обозначение критериев, которым должна соответствовать искомая строка. С помощью регулярных выражений можно найти множество строк или слов, соответствующих заданным условиям.

Подстановочные символы (wildcards) — это * (звёздочка), . (точка) и ? (знак вопроса), которые имеют в регулярных выражениях специальное значение. Например, символ * (звёздочка) обозначает любое количество любых символов, а ? (знак вопроса) означает любой один символ.

Давайте начнём знакомство с продвинутыми возможностями поиска в Word!

Как использовать подстановочные символы в продвинутом поиске

В ленте Word переключитесь на вкладку «Главная» и нажмите кнопку «Заменить»:

В окне «Найти и заменить» кликните «Больше >>», чтобы развернуть диалоговое окно и увидеть дополнительные опции. Если вы увидели кнопку «<< Меньше», значит всё прошло удачно.

В раскрывшемся окне для показа опций поиска, включите флажок «Подстановочные знаки».

Обратите внимание, что после того, как вы включили опцию «Подстановочные знаки», Word сразу под полем «Найти:» показывает, что эта опция включена. Также когда выбран флажок «Подстановочные знаки», некоторые опции становятся недоступными для включения, а именно: «Учитывать регистр», «Только слово целиком», «Учитывать префикс», «Учитывать суффикс».

Теперь нажмите кнопку «Специальный» для просмотра списка подстановочных знаков.

В Word доступны следующие подстановочные символы:

Символ Значение
? Любой знак
[-] Символ в диапазоне
< В начале слова
> В конце слова
() Выражение — единая последовательность символов. Также применяется для обратных ссылок
[!] Не
{;} Число вхождений
@ Предыдущий 1 или более
* Любое число знаков
^t Знак табуляции
^^ Знак крышки
^n Знак столбца
^+ Длинное тире
^= Короткое тире
^g Графический объект
^l Разрыв строки
^m Разрыв страницы / раздела
^~ Неразрывный дефис
^s Неразрывный пробел
^- Мягкий перенос

Наконец выберите подстановочный символ для вставки в ваши критерии поиска. После выбора подстановочного знака, символ добавляется в строку поиска. Когда запомните значения, вы также можете использовать клавиатуру для ввода символов вместо вставки их путём выбора из списка. Меню «Специальный» работает как справка в случае если вы не помните, какие доступны специальные символы и их значения.

Готовые увидеть как работают подстановочные символы? Давайте ознакомимся с конкретными примерами использования регулярных выражений и подстановочных символов в Word.

Для чего используются подстановочные символы?

В меню «Специальный» содержит много специальных символов, которые вы можете использовать для поиска по документу Word, но на самом деле не все они являются подстановочными символами. Большинство из них нужны для поиска каких-то специфичных и, иногда, скрытых символов Word, таких как пробелы, разного вида тире, разрывы страницы.

Здесь мы заострим внимание в первую очередь на подстановочных знаках, которые означают один или более символов текста или модифицируют поиск на основе другого символа в вашем поиске.

Использование звёздочки для указания любого количества символов

Скорее всего, самым часто используемым подстановочным символом для вас станет звёздочка. Она означает, что вы хотите найти любое количество символов. Например, чтобы найти все слова, начинающиеся с «отм», напечатайте «отм*» в строке поиска и затем кликните кнопку «Найти далее». Наше регулярное выражение означает любое количество букв (* звёздочка), следующих после «отм».

В качестве альтернативы ввода символа звёздочки с клавиатуры, вы можете использовать выбор специального символа из списка подстановочных знаком. Вначале наберите «отм» в строке «Найти». Поставьте галочку «Подстановочные знаки». Затем кликните кнопку «Специальный» и выберите «Любое число символов». После этого нажмите кнопку «Найти далее»:

Word оценивает поиск и показывает вам первое вхождение, которое он найдёт в документе. Продолжайте кликать «Найти далее», чтобы найти все части текста, которые соответствуют вашему поисковому термину.

Вы должны помнить важную вещь: при включении подстановочных знаков, поиск автоматически становится чувствительным к регистру (такова особенность регулярных выражений, частью которых являются подстановочные символы). Поэтому поиск «отм*» и «Отм*» даст различные результаты.

Использование знака вопроса для поиска определённого количества символов

В то время как звёздочка означает любое количество символов, знак вопроса в регулярном выражении означает единичный (один) символ. Например, если «отм*» будет искать строки начинающиеся с «отм» за которыми идёт любое количество символов, то «отм?» будет искать строки, начинающиеся с «отм», за которой идёт только один символ.

Как и звёздочку, знак вопроса можно использовать в любой части слова — в том числе в начале и в середине.

Также можно использовать вместе несколько знаков вопроса вместе, тогда они будут обозначать несколько букв.

Например, регулярное выражение для поиска «о?о?о» оно означает букву «о», за которой идёт любой символ, затем снова идёт буква «о», затем опять любой символ и затем опять буква «о» найдёт следующие слова:

  • потоков
  • многополосных
  • многополосных
  • которое
  • правового
  • такового
  • такого основания

Можно найти слова с четырьмя буквами «о», шаблон «о?о?о?о»:

  • которого
  • многополосных

Или с тремя буквами «а», шаблон «а?а?а»:

  • наказания
  • задача
  • аппарата
  • высказана
  • началах

Необязательно использовать одинаковые буквы — составляйте выражения под ваши задачи.

Например, чтобы найти слова, в которых первая буква «з», затем идёт любой другой символ, а затем буква «к» и вновь любой символ, шаблон для поиска «з?к?» найдёт:

  • закономерности
  • законодательно

Использование знака собачка (@) и фигурных скобок ({ and}) для поиска вхождений предыдущего символа

Вы можете использовать знак собачка (@) для указания одного или более вхождения предыдущего символа. Например, «ro@t» найдёт все слова, которые начинаются на «ro» и заканчиваются на «t» и которые имеют любое количество букв «o» между этими частями. Поэтому по этим условиям поиска будут найдены слова «rot», «root» и даже «roooooot».

Для большего контроля поиска предыдущих символов, вы можете использовать фигурные скобки, внутри которые укажите точное число вхождений предыдущего символа, который вы хотите найти. Например, поиск «ro{2}t» найдёт «root», но не найдёт «rot» или «roooooot».

Также поддерживает синтаксис вида {n;} — означает искать количество вхождений символа более n раз; {;m} — означает искать количество вхождений символа менее m раз; {n;m} — означает искать количество вхождений символа более n раз, но менее m раз.

Чтобы показать более практический пример, немного забежим вперёд, следующий поиск использует набор символов (будут рассмотрены в этой статье чуть ниже), в результате, будут найдены все слова, в которых подряд идут четыре согласных буквы:

[бвгджзйклмнпрстфхцчшщ]{4}

Использование угловых скобок (< и >) для обозначения начала и конца слова

Думаю, вы заметили, особенно когда составляли поисковые запросы со звёздочкой, что пробел считается за обычный символ и могут быть найдены довольно неожиданные фрагменты большого размера, либо фрагменты, состоящие из двух слов. Вы можете использовать угловые скобки (символы «больше чем» и «меньше чем») для обозначения начала и конца слова поиска. Например, вы можете искать «<но>» и Word найдёт все вхождения «но», но не найдёт слова вроде «новости», «законодатель».

Это довольно полезно, но эта техника становится более мощной, когда вы комбинируете её с другими подстановочными символами. Например, с помощью «<з????>» вы можете найти все слова, которые начинаются на «з» и состоят ровно из пяти букв.

Вам необязательно использовать обе угловые скобки в паре. Вы можете обозначить просто только начало или конец слова, используя только одну соответствующую скобку. Например «ство>» найдёт слова

  • руководство
  • множество
  • средство
  • количество

Использование квадратных скобок ([ и ]) для поиска определённых символов или диапазонов символов

Вы можете использовать квадратные скобки для указания любых символов или диапазонов символов. Например «[а]» будет искать любые вхождения буквы «а».

В следующем примере, будет искаться строка, которая начинается на «р», затем идёт любая гласная, а затем снова буква «р»: «р[аеиоуэюя]р»

Далее аналогичный пример, но между буквами «р» должно быть две любых гласных: «р[аеиоуэюя]{2}р», будет найдено, к примеру, слово «приоритет».

Вы также можете искать квадратные скобки для поиска диапазонов символов, например «[a-z]» найдёт любую из этих букв в нижнем регистре. Поиск «[0-9]» найдёт любую из этих цифр.

Пример р[а-и]{2}р найдёт строку, которая начинается и заканчивается на букву «р» между которыми две любые буквы из указанного диапазона.

Следующий пример довольно сложный, но при этом и довольно интересный:

[А-Я]{1}[а-я0-9 ,-]{1;}.

В начале строки должна стоят любая заглавная буква ([А-Я]) ровно один раз ({1}). Затем должны идти маленькие буквы, цифры, пробелы, запятые и тире ([а-я0-9 ,-]) хотя бы один раз и более ({1;}), в самом конце должна стоять точка (.)

Думаю вы догадались, что это регулярное выражение которое будет искать предложения. Перечислены не все возможные символы, поэтому не будут найдены предложения, содержащие кавычки и некоторые другие символы, а также вопросительные и восклицательные предложения.

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

Использование скобок для группировки поисковых терминов в последовательности

Вы можете использовать круглые скобки в вашем поиске для группировки последовательностей символов.

Можно использовать довольно простые шаблоны, например «(го){3;}» найдёт строки, в которых «го» встречается три и более раза подряд.

Но настоящую силу эта конструкция покажет при использовании в операциях поиска и замены.

Показанная далее техника называется «обратные ссылки». Начнём с конкретного примера, чтобы было проще понять. Предположим, нам нужно во всём документе поменять местами два слова, допустим, имя и фамилию. К примеру, во всём тексте множество раз упоминается «Милосердов Алексей», а нам нужно, чтобы было «Алексей Милосердов».

Для этого в строке поиска мы вставляем «(Милосердов) (Алексей)», а в строке «Заменить на» пишем «2 1».

Скобки не участвуют в поиске, то есть в результате будет искаться фраза «Милосердов Алексей» При этом то, что было найдено в первых скобках, будет присвоено как значение «1», а то, что было найдено во вторых скобках, станет значением «2». При этом найденная строка заменится на «Алексей Милосердов».

Можно сделать по-другому, допустим вместо фамилии и имени, я хочу заменить на фамилию и инициалы, тогда в строке поиска я ищу «(Милосердов) (Алексей)», а в строке «Заменить на» пишу «1 А.В.».

В скобках можно писать не только слова, там могут использоваться подстановочные символы в разных сочетаниях, а также кванторы количества. Когда находится целая фраза, то Word автоматически пронумеровывает эти группы слева направо (это происходит «под капотом» — мы это не видим), поэтому в поле «Заменить на» мы можем использовать эти группы по их номеру, перед которым нужно поставить обратный слэш.

Рассмотрим более жизненный пример. Допустим, у нас по всему документу имеются даты вида 31.12.2019 (то есть в формате день.месяц.год), а мы хотим чтобы все эти даты были в формате 2019.12.31 (то есть год.месяц.день).

Тогда для поиска любых дат составляем регулярное выражение с подстановочными символами:

«[0-9]{2}.[0-9]{2}.[0-9]{4}»

«[0-9]» — это диапазон, обозначающий все цифры, «{2}» — это квантор количества, который говорит, что предыдущий символ должен встречаться ровно два раза. То есть будет искаться строка длиной ровно два символа, состоящая из цифр. Затем идёт точка, затем снова аналогичная строка и точка, и в конце строка из четырёх цифр.

Строка подходит для поиска, но чтобы были созданы обратные ссылки, мы заключаем нужные нам элементы в круглые скобки: «([0-9]{2}).([0-9]{2}).([0-9]{4})» — она будет работать точно также, как и предыдущая.

Теперь составляем строку «Заменить на». В начале идёт год, то есть третья группа, она обозначается как «3», затем точка, затем вторая группа, затем опять точка и затем первая группа, получаем «3.2.1».

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

А что если вам нужно найти в документе символ, который используется как подстановочный? Например, если вам нужно найти звёздочку? Если просто её вставите, то она сработает как подстановочный знак и будет найдено всё что угодно. Есть два способа искать символы в их буквальном значении.

Первый способ, это снять галочку с опции «Подстановочные знаки» перед выполнением поиска. Но если вы не хотите это делать, вы можете использовать обратный слэш () перед этим символом. Например, чтобы найти буквальный знак вопроса при включённых «Подстановочных знаках», введите в поле Поиск «?».

Заключение

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

Связанные статьи:

  • Как в Microsoft Word сделать массовую замену или удаление текста (74%)
  • Как убрать лишние пробелы в Microsoft Word (74%)
  • Как выделить текст цветом в Word (66.3%)
  • Как вставить музыкальный символ, ноты в Word (57.7%)
  • Как напечатать диапазон страниц документа Word из нескольких разделов (57.7%)
  • Как заблокировать текстовые поля в Word (RANDOM — 50%)

Добрый день!

Есть таблица (в Word) с огромным количеством записей вида:

Иванова Виктория Васильевна 1971 г.р., образование — высшее, Урюпинский государственный педагогический институт, общий стаж работы — 22 года, стаж работы в должности — 3 года.

Необходим шаблон поиска и замены, который оставит в ячейке только ФИО, а остальное удалит.

Пробовал (с включенным чекбоксом «Подстановочные знаки») такой шаблон:
(<*>) (<*>) (<*>)*
менять на
1 2 3
, но выходит так, что он ищет любые три последовательности и один знак после.

Есть кто-нибудь, знакомый с вордовскими регулярками? Есть ощущение, что тут слишком просто, но ступор — вещь сильная ))

UPD:
В итоге (спасибо @dimonchik2013) быстрее всех вариантов сработал вот такой изящный костыль:

  1. Строка поиска: ([А-Я]*>) ([А-Я]*>) ([А-Я]*>) (с включенными подстановочными знаками)
  2. Строка замены: 1 2 3^t
  3. Преобразуем таблицу в текст с разделителем «табуляция»
  4. Преобразуем текст в таблицу с разделителем «табуляция»

Profit!

Поиск и замена текста

Ваш браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Совет. Видео не на вашем языке? Попробуйте выбрать Скрытые субтитры Кнопка "Скрытые субтитры".

  1. Выберите Главная > Заменить.

  2. Введите в поле Найти слово или фразу, которую нужно заменить.

  3. В поле Заменить на введите новый текст.

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

  5. Чтобы найти только вхождения в верхнем или нижнем регистре, нажмите кнопку Больше и установите флажок Учитывать регистр. В этом меню есть несколько других способов поиска.

С учетом регистра

Дополнительные параметры см. в статье Поиск и замена текста.

Поиск и замена обычного текста

В правом верхнем углу документа в поле поиска Введите текст для поиска в документе введите слово или фразу, которые вы хотите найти, и Word выделит все вхождения этого слова или фразы в документе.

Чтобы заменить найденный текст:

  1. Щелкните значок увеличительного стекла и нажмите кнопку Заменить.

    В поле поиска выделена команда "Заменить"

  2. Введите замещающий текст в поле Заменить на.

  3. Нажмите Заменить все или Заменить.

    Советы: 

    • Вы также можете открыть область Найти и заменить, нажав клавиши CONTROL+H.

    • При замене текста рекомендуется нажимать Заменить, а не Заменить все. Таким образом можно проверить каждый элемент перед заменой.

С помощью меню Формат вы можете найти текст с определенным форматированием, таким как полужирный шрифт или выделение.

  1. Выберите Вид > Область навигации.

    На вкладке "Вид" отмечена область навигации

  2. В области навигации щелкните значок увеличительного стекла.

  3. Нажмите кнопку параметров Снимок экрана: шестеренка и выберите Расширенный поиск и замена.

    В окне "Найти и заменить" выделен элемент "Расширенные поиск и замена"

    Примечания: 

    • Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.

    • Показано, как открыть всплывающее меню "Формат"

  4. В меню Формат выберите нужный параметр.

    Отображаются параметры форматирования

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

  5. В диалоговом окне Поиск и замена нажмите кнопку Найти далее или Найти все.

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

  1. Выберите Вид > Область навигации.

    На вкладке "Вид" отмечена область навигации

  2. В области навигации щелкните значок увеличительного стекла.

  3. Нажмите кнопку параметров Снимок экрана: шестеренка и выберите Расширенный поиск и замена.

    В окне "Найти и заменить" выделен элемент "Расширенные поиск и замена"

  4. В верхней части диалогового окна нажмите кнопку Заменить.

    Примечания: 

    • Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.

    • Показано, как открыть всплывающее меню "Формат"

  5. В поле Найти введите текст, который хотите найти.

  6. В меню Формат выберите нужный вариант форматирования.

    Отображаются параметры форматирования

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

  7. Щелкните в поле Заменить на.

  8. В меню Формат выберите замещающее форматирование. Если появится второе диалоговое окно, выберите нужные форматы и нажмите кнопку ОК.

  9. Нажмите Заменить, Заменить все или Найти далее.

  1. Выберите Вид > Область навигации.

  2. В области навигации щелкните значок увеличительного стекла.

  3. Нажмите кнопку параметров Снимок экрана: шестеренка и выберите Расширенный поиск и замена.

    В окне "Найти и заменить" выделен элемент "Расширенные поиск и замена"

    Примечания: 

    • Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.

    • Показано, как открыть всплывающее меню "Формат"

  4. В меню Специальный выберите нужный специальный знак.

    Поиск специальных знаков

  5. Нажмите кнопку Найти далее.

  1. Выберите Вид > Область навигации.

    На вкладке "Вид" отмечена область навигации

  2. В области навигации щелкните значок увеличительного стекла.

  3. Нажмите кнопку параметров Снимок экрана: шестеренка и выберите Расширенный поиск и замена.

    В окне "Найти и заменить" выделен элемент "Расширенные поиск и замена"

    Примечания: 

    • Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.

    • Показано, как открыть всплывающее меню "Формат"

  4. В верхней части диалогового окна Найти и заменить нажмите кнопку Заменить, а затем щелкните в поле Найти, но не вводите текст. После этого при выборе специального знака Word автоматически поместит код знака в соответствующее поле.

    Примечание: Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.
    Показано, как открыть всплывающее меню "Формат"

  5. В меню Специальный выберите нужный специальный знак.

  6. Щелкните в поле Заменить на.

  7. В меню Специальный выберите специальный знак, который нужно использовать для замены.

  8. Нажмите кнопку Заменить или Найти далее.

  1. Выберите Вид > Область навигации.

    На вкладке "Вид" отмечена область навигации

  2. В области навигации щелкните значок увеличительного стекла.

  3. Нажмите кнопку параметров Снимок экрана: шестеренка и выберите Расширенный поиск и замена.

    В окне "Найти и заменить" выделен элемент "Расширенные поиск и замена"

  4. Установите флажок Подстановочные знаки.

    Если флажок Подстановочные знаки недоступен, нажмите Стрелка вниз для просмотра дополнительных параметров.

  5. В меню Специальный выберите подстановочный знак и введите любой дополнительный текст в поле Найти.

    Использование подстановочных знаков в диалоговом окне "Найти и заменить"

  6. Нажмите кнопку Найти далее.

    Советы: 

    • Чтобы остановить поиск, нажмите клавиши COMMAND+ТОЧКА.

    • Вы также можете ввести подстановочный знак непосредственно в поле Найти поле, вместо выбора элемента из всплывающего меню Специальные.

    • Чтобы найти символ, который определен как подстановочный знак, введите косую черту () перед искомым символом. Например, введите ?, чтобы найти вопросительный знак.

    • Для группировки подстановочных знаков и текста, а также для указания порядка обработки знаков следует использовать круглые скобки. Например, чтобы найти слова «призвание» и «приключение», введите <(при)*(ние)>.

    • Для поиска выражения и последующего изменения порядка его компонентов используйте подстановочный знак n. Например, введите (Селезнев) (Глеб) в поле Найти и 2 1 в поле Заменить на, чтобы найти словосочетание «Селезнев Глеб» и заменить его на «Глеб Селезнев».

  7. Чтобы заменить найденный текст:

    1. Откройте вкладку Заменить и выберите поле Заменить на.

    2. Во всплывающем меню Специальный выберите подстановочный знак и введите любой дополнительный текст в поле Заменить на.

    3. Нажмите Заменить все, Заменить или Найти далее.

      Совет: При замене текста рекомендуется нажимать Заменить, а не Заменить все. Это позволить проверить каждый из элементов и убедиться в правильности замены.

Поиск можно уточнить с помощью любого из следующих подстановочных знаков.

Чтобы найти

Используйте

Пример

Любой символ

?

Выражение к?т позволяет найти слова «кот» и «кит».

Любая строка символов

*

Выражение п?л позволяет найти слова «пол» и «пошел».

Один из указанных символов

[ ]

Выражение кр[еа]н позволяет найти слова «крен» и «кран».

Любой символ из указанного диапазона

[-]

Выражение [б-м]ой позволяет найти слова «бой», «вой» и «мой».

Диапазон должен быть в алфавитном порядке.

Любой символ, кроме символов, указанных в скобках

[!]

Выражение по[!р]ол позволяет найти слова «посол» и «помол», но не «порол».

Любой символ, кроме символов, которые находятся в диапазоне, указанном в скобках

[!э-я]

Выражение к[!е-р]а позволяет найти слова «кода» и «коса», но не слова «кожа» и «кора».

Диапазон должен быть в алфавитном порядке.

Ровно n появлений символа или выражения подряд в тексте

{ n}

Выражение жарен{2}ый позволяет найти слово «жаренный», но не слово «жареный».

Как минимум n появлений символа или выражения подряд в тексте

{ n,}

Выражение жарен{1,}ый позволяет найти слова «жареный» и «жаренный».

Диапазон появлений символа или выражения подряд в тексте

{ n, n}

Выражение 10{1,3} позволяет найти числа «10,» «100,» и «1000».

Любое, однократное или повторяющееся, появление символа или выражения в тексте

@

Выражение больше@ позволяет найти слова «больше» и «большее».

Начало слова

<

Выражение <(сол) позволяет найти слова «солнце» и «солист», но не слово «фасоль».

Конец слова

>

Выражение (ель)> позволяет найти слова «ель» и «шрапнель», но не слово «ельник».

Word в Интернете позволяет искать и заменять обычный текст. Вы можете использовать параметры «Учитывать регистр» или «Только слово целиком». Чтобы использовать другие параметры, откройте документ в классическом приложении Word.

Нужна дополнительная помощь?

320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

1

11.03.2021, 17:10. Показов 3593. Ответов 47


Студворк — интернет-сервис помощи студентам

Добрый день.
Гуру форума подскажите, как реализовать поиск и замену в word файлах цифры типа 10500.67 , 150.3 или 2.2 на цифры 10.500,67, 150,3 ; 2,2 и т.д.
Для данной замены Find.Execute, судя по всему, не подходит.
Использование регулярных выражений regex — не приложу ума как применить для документа.



0



ViterAlex

8927 / 4839 / 1885

Регистрация: 11.02.2013

Сообщений: 10,246

11.03.2021, 19:05

2

Лучший ответ Сообщение было отмечено proft как решение

Решение

Если использовать OpenXML то можно так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using System;
using System.Globalization;
using System.Text.RegularExpressions;
 
namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            SearchAndReplace(@"Путь к документу");
        }
        // To search and replace content in a document part.
        public static void SearchAndReplace(string document)
        {
            using (var wordDoc = WordprocessingDocument.Open(document, true))
            {
                var body = wordDoc.MainDocumentPart.Document.Body;
                var paras = body.Elements<Paragraph>();
                var regexText = new Regex(@"[d]+.[d]+");
 
                foreach (var para in paras)
                    foreach (var run in para.Elements<Run>())
                        foreach (var text in run.Elements<Text>())
                        {
                            text.Text = regexText.Replace(text.Text, FormatNumber);
                        }
                wordDoc.Save();
            }
        }
 
        private static string FormatNumber(Match match)
        {
            if (double.TryParse(match.Value,NumberStyles.Number, CultureInfo.InvariantCulture, out double number))
            {
                var ci = CultureInfo.CreateSpecificCulture("ru-Ru");
                return number.ToString("N", ci);
            }
            return match.Value;
        }
    }
}



1



320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

11.03.2021, 23:33

 [ТС]

3

спасибо огромное!
Буду пробовать!
А вообще если не использовать OpenXML, а стандандартными средствами куда посоветутете копать?



0



8927 / 4839 / 1885

Регистрация: 11.02.2013

Сообщений: 10,246

12.03.2021, 00:24

4

Ну как. Можно искать с подстановочными знаками <[0-9]@.[0-9]@>. Найденное число форматировать средствами c# и заменять найденный текст. Тут много нюансов: искать нужно с конца документа, после каждой замены переопределять диапазон поиска, выбрасывая из него уже обработанные куски. Долго и некрасиво.
Нужно учиться работать с OpenXML. Он не требует установленного офиса и работает в разы быстрее



0



proft

320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

12.03.2021, 14:07

 [ТС]

5

ViterAlex, подскажите по коду.
Хочу сделать по методу OpenFileDialog, но не открывает документ.
Получается выбрать, но на этом всё.
Для использования Open XML скачал и установил, нужно ли добавлять ссылки или же указанные библиотеки достаточно?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using System.IO;
using System.Globalization;
using System.Text.RegularExpressions;
 
namespace _2021_03_12__поиск_и_замена.на___с_использованием_OpenXML_
{
    public partial class Form1 : Form
    {
 
        // To search and replace content in a document part.
        public static void SearchAndReplace(string document)
        {
            using (var wordDoc = WordprocessingDocument.Open(document, true))
            {
                var body = wordDoc.MainDocumentPart.Document.Body;
                var paras = body.Elements<Paragraph>();
                var regexText = new Regex(@"[d]+.[d]+");
 
                foreach (var para in paras)
                    foreach (var run in para.Elements<Run>())
                        foreach (var text in run.Elements<Text>())
                        {
                            text.Text = regexText.Replace(text.Text, FormatNumber);
                        }
                wordDoc.Save();
            }
        }
 
        private static string FormatNumber(Match match)
        {
            if (double.TryParse(match.Value, NumberStyles.Number, CultureInfo.InvariantCulture, out double number))
            {
                var ci = CultureInfo.CreateSpecificCulture("ru-Ru");
                return number.ToString("N", ci);
            }
            return match.Value;
        }
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
        private void button1_Click(object sender, EventArgs e)
        {
            //поиск файла word
            using (OpenFileDialog ofd = new OpenFileDialog())
            {
                ofd.Multiselect = true;
                ofd.Filter = "Microsoft word(*.doc*) | *.doc*";
                ofd.Title = "Выберите документ Word";
                if (ofd.ShowDialog() != DialogResult.OK)
                {
                    MessageBox.Show("Вы не выбрали файл для открытия", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
 
                // переменная котрой присваивается путь где лежит выбранный файл
                string str_filename = ofd.FileName;
 
                //******************************************
                //Один из способов открыть файл
                //System.Diagnostics.Process.Start(@"str_fileNeame");
                //***********************************************
                SearchAndReplace(str_filename);
 
 
 
            }
 
        }
    }
}



0



8927 / 4839 / 1885

Регистрация: 11.02.2013

Сообщений: 10,246

12.03.2021, 14:51

6

proft, OpenXML работает с форматом файлов .docx, не doc



0



proft

320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

12.03.2021, 15:57

 [ТС]

7

Вот так поворот)

Добавлено через 1 минуту
В этой строчке?

C#
1
ofd.Filter = "Microsoft word(*.doc*) | *.doc*";

Добавлено через 36 минут
Получается ещё конвертер нужен для перевода doc В docx по условию? Или же есть какое нить другое решение?
А В упоминали с подстановочными знаками <[0-9]@.[0-9]@> — это для Interop?
Может через split попробовать ?



0



8927 / 4839 / 1885

Регистрация: 11.02.2013

Сообщений: 10,246

12.03.2021, 16:49

8

proft, по этой строчке я понял, что не тот формат ты ищешь.

Цитата
Сообщение от proft
Посмотреть сообщение

Получается ещё конвертер нужен для перевода doc В docx по условию?

Какой версией Word пользуешься?



0



320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

12.03.2021, 18:36

 [ТС]

9

13, 16



0



ViterAlex

8927 / 4839 / 1885

Регистрация: 11.02.2013

Сообщений: 10,246

12.03.2021, 21:56

10

proft, ну так почему формат 20-летней давности используешь? можно сделать и на Interop, но это будет медленно и некрасиво.

Добавлено через 3 часа 17 минут
Примерно так это можно сделать через Interop:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
static void Main(string[] args)
{
    var wdApp = new Word.Application();
    var doc = wdApp.Documents.Open(@"Путь к документу", AddToRecentFiles: false);
    SearchAndReplace(doc);
    doc.Save();
    wdApp.Quit();
}
static void SearchAndReplace(Word.Document doc)
{
    while (true)
    {
 
        var rng = doc.Range();
        rng.Find.Text = "<[0-9]@.[0-9]@>";
        rng.Find.Forward = false;
        rng.Find.MatchWildcards = true;
        if (rng.Find.Execute())
        {
            var rngStart = rng.Find.Parent.Start;
            doc.Range(rngStart, rng.End).Text = FormatNumber(rng.Text);
            rng.SetRange(0, rngStart);
        }
        else
        {
            return;
        }
    }
}
 
private static string FormatNumber(string text)
{
    if (double.TryParse(text, NumberStyles.Number, CultureInfo.InvariantCulture, out double number))
    {
        var ci = CultureInfo.CreateSpecificCulture("ru-Ru");
        return number.ToString("N", ci);
    }
    return text;
}



1



320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

13.03.2021, 11:27

 [ТС]

11

уххх…Огромнейшее спсасибо!
Буду пробовать!



0



proft

320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

13.03.2021, 23:26

 [ТС]

12

ViterAlex, добрый вечер.
Подскажите, в чём может быть проблема?
И ещё добавил

C#
1
using System.Globalization;

Миниатюры

Поиск и замена в word документе по шаблону
 



0



proft

320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

14.03.2021, 13:40

 [ТС]

13

для различных случаев.
Когда doc, а когда docx.

Добавлено через 2 часа 34 минуты
ViterAlex, если не затруднит, можете раскоментировать

C#
1
2
3
4
5
                {
                    var rngStart = rng.Find.Parent.Start;
                    doc.Range(rngStart, rng.End).Text = FormatNumber(rng.Text);
                    rng.SetRange(0, rngStart);
                }

Если в тексте необходимо заменить формат предостваления цифр с (1523,58) на (1,523.58) это в строке
Заменить в строке

C#
1
                rng.Find.Text = "<[0-9]@,[0-9]@>";

И строку

C#
1
var ci = CultureInfo.CreateSpecificCulture("ru-Ru");

?



0



ViterAlex

8927 / 4839 / 1885

Регистрация: 11.02.2013

Сообщений: 10,246

14.03.2021, 16:17

14

Цитата
Сообщение от proft
Посмотреть сообщение

можете раскоментировать

C#
1
2
3
4
5
6
7
8
{
    //Начало найденного текста
    var rngStart = rng.Find.Parent.Start;
    //Меняем найденный текст
    doc.Range(rngStart, rng.End).Text = FormatNumber(rng.Text);
    //Задаём новый диапазон для поиска
    rng.SetRange(0, rngStart);
}

Цитата
Сообщение от proft
Посмотреть сообщение

Если в тексте необходимо заменить формат

Требуемый формат похож на американский. Можно попробовать en-US



0



proft

320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

14.03.2021, 19:21

 [ТС]

15

ViterAlex СПАСИБО!
Можете взглянуть, пожалуйста!
(достал Вас уже скорее всего…

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using Word = Microsoft.Office.Interop.Word;
using System.IO;
using System.Globalization;
 
namespace _2021_03_14
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
 
        private static string FormatNumber(string text)
        {
            if (double.TryParse(text, NumberStyles.Number, CultureInfo.InvariantCulture, out double number))
            {
                var ci = CultureInfo.CreateSpecificCulture("en-US");
                return number.ToString("N", ci);
            }
            return text;
        }
 
        static void SearchAndReplace(Word.Document doc)
        {
            while (true)
            {
 
                var rng = doc.Range();
                rng.Find.Text = "<[0-9]@,[0-9]@>";
                rng.Find.Forward = false;
                rng.Find.MatchWildcards = true;
                if (rng.Find.Execute())
                {
                    var rngStart = rng.Find.Parent.Start;
                    doc.Range(rngStart, rng.End).Text = FormatNumber(rng.Text);
                    rng.SetRange(0, rngStart);
                }
                else
                {
                    return;
                }
            }
        }
 
        private void wordToolStripMenuItem_Click(object sender, EventArgs e)
        {
 
            
 
                //поиск файла word
                using (OpenFileDialog ofd = new OpenFileDialog())
                {
                    ofd.Multiselect = true;
                    ofd.Filter = "Microsoft word(*.doc*) | *.doc*";
                    ofd.Title = "Выберите документ Word";
                    if (ofd.ShowDialog() != DialogResult.OK)
                    {
                        MessageBox.Show("Вы не выбрали файл для открытия", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
 
                    // переменная котрой присваивается путь где лежитыбранный файл
                    string str_fileNeame = ofd.FileName;
 
                    //******************************************
                    //Один из способов открыть файл
                    //System.Diagnostics.Process.Start(@"str_fileNeame");
                    //***********************************************
                    var oWord = new Word.Application();
                    var docDocument = oWord.Documents.Open(str_fileNeame, AddToRecentFiles: false);
                    SearchAndReplace(docDocument);
                    docDocument.Save();
                    oWord.Quit();
                }
            
        }
    }
}

Пытаюсь поменять формат в таком ключе
(1523,58) на (1,523.58).
ВРоде строчку

C#
1
   rng.Find.Text = "<[0-9]@,[0-9]@>";

Запятую поменял.
Формат от такого предоставления должен по идее менять в американский….
Но ничего не происходит.

Добавлено через 1 час 6 минут
Вот кое что нашеёл…
Но как это прмиенить …чет не получается….
https://docs.microsoft.com/en-… ew=net-5.0



0



8927 / 4839 / 1885

Регистрация: 11.02.2013

Сообщений: 10,246

14.03.2021, 21:55

16

Ну конечно не происходит. Потому что в методе FormatNumber используются две культуры: одна, чтобы распознать число, вторая, чтобы отформатировать. Культуру для форматирования ты поменял,а культуру для распознавания — нет. У тебя не срабатывает условие в 27 строке.

Цитата
Сообщение от proft
Посмотреть сообщение

Но как это прмиенить …чет не получается….

Ну правильно. Я использовал вот эту перегрузку. Думаю теперь ты справишься.



0



proft

320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

14.03.2021, 22:54

 [ТС]

17

ViterAlex, раскоментируйте пожалуйста вот эту строку

C#
1
Console.WriteLine("Converted '{0}' to {1}.", value, number);



0



8927 / 4839 / 1885

Регистрация: 11.02.2013

Сообщений: 10,246

14.03.2021, 23:14

18

А что тут комментировать? 0 и 1 в фигурных скобках это индексы параметров, которые будут подставлены в строку.



0



320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

15.03.2021, 13:41

 [ТС]

19

никак..

Добавлено через 46 минут
Пытался и через Настраиваемый описатель «,».
https://docs.microsoft.com/ru-… pecifierTh

Культура распознавания — NumberStyles. Верно?
Вроде бы указан — NumberStyles.Number
Включает стили NumberStyles.AllowLeadingWhite, NumberStyles.AllowTrailingWhite, NumberStyles.AllowLeadingSign, NumberStyles.AllowTrailingSign, NumberStyles.AllowDecimalPoint и NumberStyles.AllowThousands.



0



320 / 288 / 104

Регистрация: 12.04.2011

Сообщений: 924

15.03.2021, 13:41

 [ТС]

20

Было вот так..

Миниатюры

Поиск и замена в word документе по шаблону
 



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

15.03.2021, 13:41

Помогаю со студенческими работами здесь

Замена строки в документе Word
Есть вордовский документ, по нему я ищу нужное мне слово и заменяют его на другое, но на …

Некорректно производится замена в документе Word
Вот так работает:

wordSearchReplace(&quot;папа&quot;, &quot;мама&quot;, ref wordApp, 20);//заменяет слова &quot;папа&quot; на…

Замена текста в документе Word на vbs
Добрый день!

Есть файл Word.
В этом файле есть определённая последовательность символов,…

Interop.Word, замена ключевых слов в документе
Здравствуйте. VisualStudio 2008, Office 2007, никак не могу реализовать замену ключевых слов в…

Замена меток в документе WORD данными из EXCEL
Доброго времени суток. Возникла необходимость на работе в создании данного макроса, а правильно…

Замена текста в существующем документе Word через Область сопоставления XML
Друзья! Никак не могу разобраться с задачкой. Есть документ с XML-сопоставлением. В нем очень много…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

20

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

Как заменить слово в Ворде по всему тексту Для замены определенного слова другим словом по всему тексту выполните следующие шаги:

  1. Откройте редактируемый документ в Word, если он не был открыть до этого и нажмите сочетание клавиш Ctrl + H (H – английская).
  2. В открывшемся окне в поле Найти: введите искомое слово или текст, которые подлежат замене, в поле Заменить на: то слово или текст, на который он будет заменен.

    окно поиска и замены

  3. Нажмите кнопку Больше>>, чтобы открыть дополнительные настройки замены.
  4. Установите галочки в строках Учитывать регистр и Только слово целиком, если вам необходимо заменить только точное вхождение искомого слова.

    уточнение критериев замены

  5. Нажмите кнопку Заменить все для выполнения замены.
  6. После завершения замены всех слов в Ворде по всему тексту будет выведено информационное окно с указанием количества произведенных замен.

    отчет о произведенных заменах

Другой полезной функцией данного инструмента является не замена, а изменение форматирования какого-либо слова во всем документе. Допустим, если требуется выделить жирным какое-то слово в документе, то это выполняется следующим образом:

  1. Также нажмите сочетание клавиш Ctrl + H в документе.
  2. В открывшемся окне поле Найти оставьте пустым, а в Заменить на введите искомое слово.
  3. Нажмите кнопку Формат внизу окна и в появившемся списке выберите пункт Шрифт.

    дополнительные условия для замены

  4. В настройках шрифта выберите полужирное начертание и нажмите кнопку Ок.

    настройка шрифта

  5. В главном окне поиска и замены нажмите Заменить все.

    окно поиска и замены

  6. После завершения замены все вхождения искомого слова будут выделены полужирным шрифтом и также будет выведен отчет.

    отчет о произведенных заменах

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

Заменить текст или слова в Word

Часто при работе в программе Word и редактировании большого количества тексты требуется заменить повторяющееся слово или фразу на какое-то другое значение. Конечно, если текст небольшой, можно визуально найти нужные слова, удалить их и вставить на их место нужные. Но, как говорится, это же не наш метод. И в этой статье мы расскажем, как в word массово и автоматически заменить текст или слово.

Для того, чтобы начать замену, открываем документ с нужной информацией. Затем нажимаем комбинацию горячей клавиши ctrl+f.

Откроется окно, где мы должны выбрать вкладку Заменить.

как сделать массовую замену в word

Как вы уже, наверное, догадались – в строку “Найти” вводим слово или текст, которые нужно заменить. А в строку “Заменить на” – вводим то слово или фразу, на которое мы будем заменять.

Пример:

как сделать массовую замену в word

Соответственно, нажав на кнопку Заменить все, все необходимые слова появятся на месте тех, что требовалось заменить.

как сделать массовую замену в word

Автоматическая замена слов, словосочетаний или отдельных символов, значительно ускоряет процесс правки документа в Ворде. При этом есть возможность как полной автоматической замены найденного совпадения во всем документе, так и последовательная проверка каждого совпадения и ручного подтверждения. В последних версиях Word эта функция претерпела незначительных изменений, и далее мы рассмотрим, как заменить слова в Ворде 2010.

Если ранее в старых версиях Word для вызова функции поиска и замены достаточно было нажать комбинацию клавиш «Ctrl + F», то теперь этой комбинацией клавиш или пунктом меню в закладке «Главная» в Word 2010 вызывается только форма для поиска.

как сделать массовую замену в wordПоиск в Ворде

Для замены слова в Ворде необходимо выбрать именно пункт «Заменить» на вкладке «Главная» или нажать комбинацию клавиш «Ctrl + H», после чего появляется знакомое нам со старых версий Word окошко поиска и замены.

как сделать массовую замену в wordокно поиска и замены в Ворде

Для выполнения замены слов в Ворде необходимо заполнить минимум две графы, «Найти:» и «Заменить на:». При нажатии кнопки «Найти далее» в тексте будет выделено первое совпадение, которое можно тут же заменить, нажав кнопку «Заменить». Для замены всех совпадений сразу необходимо нажать «Заменить все».

как сделать массовую замену в wordВыделение найденного совпадения в тексте

Условия для поиска можно значительно расширить, нажав на окошке поиска и замены кнопку «Больше >>». Появляется возможность учитывать не только регистр, но и менять формат заменяемого слова.

как сделать массовую замену в wordрасширенный вид окошка «Поиск и замена» в Ворде

Как в Ворде поставить нумерацию страниц?
Как удалить последнюю страницу в Ворде?
Как сделать красивую рамку в Ворде?
Как в Ворде написать формулу?

При редактировании текстовых документов иногда возникает необходимость найти и заменить внутри них какой-нибудь фрагмент. Для большинства редакторов это не проблема, практически в любой подобной программе имеется функция поиска и замены, но что, если такую замену нужно выполнить в пакетном режиме? Представьте, что вам нужно заменить всего лишь одно слово, но в нескольких документах. Открывать каждый файл и производить правку занятие весьма утомительное и нерациональное, благо и с этой задачей умеют справляться текстовые редакторы. Правда, не все. Популярнейший офисный пакет Microsoft Office до сих пор не имеет внятных инструментов пакетной замены текстовых фрагментов, поэтому приходится прибегать к помощи сторонних утилит, с парочкой из которых мы сегодня познакомимся.

@Text Replacer

Если вы до сих пор не слезли с Windows 7, попробуйте утилиту @Text Replacer, скачав оную с сайта tr.infortech.ru. Эта очень простая и легкая программа позволяет заменять многострочные фрагменты в текстовых файлах разных типов и построчные в файлах Microsoft Word, но при условии наличия последнего на компьютере. Утилитой поддерживаются работа со вложенными каталогами, различение регистров, игнорирование указанных символов, возможен поиск по содержимому файлов без замены.

На вкладке «Текст и размещение» имеется четыре поля.

как сделать массовую замену в word

В поле «Имя» можно указать тип (формат) обрабатываемых файлов, в поле «Папка» – каталог с файлами, поля «Найти» и «Заменить на» служат для ввода искомого и заменяемого текста соответственно.

как сделать массовую замену в word

К сожалению, при тестировании в Windows 10 у нас возникли проблемы, @Text Replacer так и не смоглa ничего найти, возможно, потому что мы использовали неоригинальный пакет Word, а может быть по той причине, что программа не поддерживает работу с этой версией системы (поддержка Windows 10 не заявлена разработчиком).

Replace Genius

Куда большими возможностями в плане поиска, замены и вообще обработки текстовых файлов обладает программа Replace Genius, доступная для скачивания на сайте www.rlvision.com. Она универсальна, имеет много настроек, поддерживает работу с регулярными выражениями, предпросмотр результатов обработки и многое другое. В программе нет русского языка, но разобраться всё же можно. Поиск и замена в ней производится по шаблону, который сначала нужно создать. Для этого в левой колонке на вкладке «Replace» в полях «Find» и «…and replace with» вам нужно указать заменяемый и заменяющий текст.

как сделать массовую замену в word

Заполнив поля, нажмите F12 и кликните в открывшемся менеджере пресетов кнопку «Add».

как сделать массовую замену в word

Добавив в список шаблон, можно приступать к самому поиску и замене. Нажмите на панели инструментов сверху кнопку «Batch», добавьте обрабатываемые документы Microsoft Office и укажите в окошке мастера каталог для сохранения результатов.

как сделать массовую замену в word

как сделать массовую замену в word

Также вы можете заменить исходники новыми файлами, но всё же будет лучше перестраховаться. После нажатия «OK» и «Start» программа внесет изменения в ваши документы согласно заданным параметрам.

как сделать массовую замену в word

как сделать массовую замену в word

Макросы

Когда мы сказали, что в Microsoft Office нет простых и эффективных инструментов для пакетной замены текста, то вовсе не имели ввиду, что их вообще нет. Благодаря встроенному в офисный пакет языку программирования VBA знающие в нём толк опытные пользователи могут создавать макросы – этакие командные файлы в формате Microsoft Office. Один из таких макросов, созданный неким Александром Витером, как раз предназначен для замены текста сразу в нескольких файлах Word. Скачать его можно бесплатно с ресурса wordexpert.ru/page/makros-paketnoj-zameny-ot-aleksandra-vitera.

Макрос, похоже, старый, раз до сих пор представлен беткой, но работает неплохо и с последними версиями текстового процессора. Приложение представляет собой DOC-файл с полями для ввода искомого и замещающего текста и кнопкой «Пуск».

как сделать массовую замену в word

При первом запуске нужно разрешить выполнение активного содержимого, что делать дальше, полагаем, догадаетесь сами. Макрос поддерживает замену текста в гиперссылках, а также поиск во вложенных каталогах и с учетом регистра.

как сделать массовую замену в word

Дублирование файлов с сохранением исходника как в Replace Genius не предусмотрено, все сеансы записываются в текстовый лог.

На этом пока всё. Вероятно, есть и другие средства и способы поиска и пакетной замены текстового содержимого «офисных» документов, но и того, что мы здесь предложили для использования, должно вполне хватить.

Понравилась статья? Поделить с друзьями:
  • Замена текста не во всем документе word
  • Замена текста на число excel
  • Замена текста макросом word
  • Замена текста во всех файлах word
  • Замена текста в файлах excel