1

Тема: Выделение в тексте цветом одинаковых слов

Коллеги, срочно нужна помощь по макросам. Работы по горло, было бы очень удобно по вызову макроса получать в тексте подсвеченные (выделенные цветом) повторяющиеся слова (части слов), для того, чтобы быстрее редактировать в тексте стиллистичесие дублирования штампов типа "Кроме того," Вместе с тем" "в соответствии".

Может есть у кого идеи?

2

Re: Выделение в тексте цветом одинаковых слов

el-jonny-k пишет:

...
Может есть у кого идеи?

Без написания макроса это можно сделать так (WORD 2003):
1 Правка->Заменить->В поле "Найти" искомый текст (например, Кроме того)
->В поле "Заменить на" тот же самый текст -> Кнопка "Формат" -> из выпадающего списка выбираете "Выделение цветом". 
Это надо повторить  для всех искомых  фрагметов.
2 После этого   переход ко всем выделенным фрагментам текста:
Правка->Найти->В поле "Найти"  пусто -> Кнопка "Формат"->   из выпадающего списка выбираете "Выделение цветом"->кнопка  "Найти далее".
Будет выполняться переход ко всем выделенным фрагментам текста.

3

Re: Выделение в тексте цветом одинаковых слов

ЮВ пишет:
el-jonny-k пишет:

...
Может есть у кого идеи?

Без написания макроса это можно сделать так (WORD 2003):

Спасибо. Но без написания макроса, с тем же успехом можно и просто прочитать.
Проблема в том, что таких слов-оборотов может быть порядка 20-30.
Тогда уж проще каждый оборот в поиск забивать без выделений и просто смотреть сколько таких позиций найдет, заодно сразу менять, потом новое слово и т.д. это фигня. Легче прочитать.

Поэтому тут нужен макрос, который бы при нахождении любых одинаковых последовательностей букв, например 6 подряд "кроме т" "вместе" "одновр" и т.д. любых - будет переставлять на них курсор. Цветом выделять это наверное лишнее усложнение.

Вопрос как его заставить искать повторение любой комбинации символов???

4

Re: Выделение в тексте цветом одинаковых слов

Идейка по поиску нескольких одинаковых слов:
найти: ([А-ЯЁа-яё]{6})*\1
подстановочные знаки: да

В данном случае ищется пара одинаковых цепочек из шести русских букв. Первые шесть букв в найденной области будут первыми в паре, последние - вторыми.

Таким же способом можно искать три, четыре и т.д. повторяющиеся цепочки.
Три повторения: ([А-ЯЁа-яё]{6})*\1*\1
Пять повторений: ([А-ЯЁа-яё]{6})*\1*\1*\1*\1

Макросы под заказ и готовый пакет - mtdmacro.ru

5

Re: Выделение в тексте цветом одинаковых слов

Что-то не получается, если это в поисковую строку забить, отметив подстановочные знаки, выделяет сразу пару абзацев, а потом двигает это выделение на один символ. ???

6

Re: Выделение в тексте цветом одинаковых слов

el-jonny-k пишет:

...выделяет сразу пару абзацев...

Все правильно. При этом методе поиска выделяется область от начала первого вхождения слова, до конца последнего вхождения. Искомое число повторений слова задается количеством параметров "*\1". Результатом поиска будет область охватывающая: "1-е вхождение слова....2-е вхождение слова....3-е вхождение слова...n-е вхождение слова". Между словами может быть произвольный текст и любое количество параграфов.

Макросы под заказ и готовый пакет - mtdmacro.ru

7

Re: Выделение в тексте цветом одинаковых слов

Вождь пишет:
el-jonny-k пишет:

...выделяет сразу пару абзацев...

Все правильно. При этом методе поиска выделяется область от начала первого вхождения слова, до конца последнего вхождения. Искомое число повторений слова задается количеством параметров "*\1". Результатом поиска будет область охватывающая: "1-е вхождение слова....2-е вхождение слова....3-е вхождение слова...n-е вхождение слова". Между словами может быть произвольный текст и любое количество параграфов.

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

А как сделать еще, чтоб пробел, цифры и знаки препинания входили в перечень искомых символов??

8

Re: Выделение в тексте цветом одинаковых слов

el-jonny-k пишет:

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

Придется вам изучить поиск с подстановочными знаками.
Набор знаков задается в тексте "[А-ЯЁа-яё]".
Добавим знаки пунктуации английские буквы и цифры:
[.,:;\?\!\-^~^+^=А-ЯЁа-яёA-Za-z0-9]

Да, учтите, что поиск с подстановочными знаками чувствителен к регистру букв. Поэтому, предложенный мной вариант, не найдет слово "Мама" как повторение слова "мама", "МАМА" и др. При поиске таких повторений без макроса не обойтись.

Макросы под заказ и готовый пакет - mtdmacro.ru

9

Re: Выделение в тексте цветом одинаковых слов

У меня похожая проблема нужно чтобы в одном файле ворде находил похожие предложения и выделял их , помогите уже весь инет облазил не могу найти путного?!

10

Re: Выделение в тексте цветом одинаковых слов

Hans пишет:

...похожая проблема...

Сначала, надо разбить текст на предложения. Вы уже решили как? Это на порядок сложнее, чем поиск повторений! Поиск же одинаковых абзацев, слов, букв проблемы не представляет.

Макросы под заказ и готовый пакет - mtdmacro.ru

11

Re: Выделение в тексте цветом одинаковых слов

я в этом нуб ...
  и  возможно это реализовать без изменения файла?

Вождь пишет:
Hans пишет:

...похожая проблема...

Сначала, надо разбить текст на предложения. Вы уже решили как? Это на порядок сложнее, чем поиск повторений! Поиск же одинаковых абзацев, слов, букв проблемы не представляет.

12

Re: Выделение в тексте цветом одинаковых слов

Hans пишет:

...возможно это реализовать без изменения файла?

Возможно, если знать, что в вашей задаче означает слово "предложение". Попробуйте описать своими словами, без программирования. Cразу поймете, что найти предложение - это самая сложная часть. Сравнить пару предложений - уже просто.

Макросы под заказ и готовый пакет - mtdmacro.ru

13

Re: Выделение в тексте цветом одинаковых слов

1)Предложение - от точки до точки
2) Набор слов от 3 до 10

Вождь пишет:
Hans пишет:

...возможно это реализовать без изменения файла?

Возможно, если знать, что в вашей задаче означает слово "предложение". Попробуйте описать своими словами, без программирования. Cразу поймете, что найти предложение - это самая сложная часть. Сравнить пару предложений - уже просто.

14

Re: Выделение в тексте цветом одинаковых слов

набор слов ограниченный знаком

15

Re: Выделение в тексте цветом одинаковых слов

Даже точнее наверно Предложение - набор слов с предлогами и знаками препинания (все кроме . ! ?  ) и оканчивающиеся на . ! ?

Hans пишет:

набор слов ограниченный знаком