Как выделить слова в ворде при поиске
Сообщения: 6
Благодарности: 0
Т.е. Задача стоит такая :
Документ — имеется много строк вот такого скажем вида
папа мама сын дочь 12
мама папа дочь сын 14
сын дочь мама папа 15
мама папа дочь сын 14
Поиск ведем по конечной цифре в строке — 14
Т.е. — надо найти все строчки с цифрой 14, выделить всю строку, где найдена такая цифра, чтобы скопировать.
Причем слова перед цифрами стоят разной длины.
Я пробовал в поиске Word вбивать такую комбинацию
^? символ любого знака + цифра 14
т.е. вот такой вид :
^?14
Можно подставить еще несколько знаков, т.е.
^?^?^?^?^?^?^?^?14
Но слова в строке все разной длины и так не получается
В общем — прошу совета !
Поиск текста в документе
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .
Поиск текста в документе? Область поиска можно находить символов, слов и фраз. При желании вы можете Заменить его с другой текст.
Если вы используете режим чтения, переключитесь в режим редактирования, выбрав пункты Редактировать документ > Изменить в Word Web App.
Чтобы открыть область Поиск в режиме редактирования, нажмите сочетание клавиш CTRL+F или выберите Главная > Поиск.
Чтобы найти текст, введите его в поле Поиск в документе. Word Web App приступит к поиску, как только вы начнете вводить текст. Чтобы сузить результаты, щелкните значок в виде лупы и выберите один или оба параметра поиска.
Совет: Если вы не видите значок лупы, нажмите кнопку X в конце поля поиска для документа. . Значок с увеличительным стеклом продолжает отображаться.
Когда вы вводите текст или вносите изменения в документ, Word Web App приостанавливает поиск и очищает область Поиск. Чтобы снова просмотреть результаты, щелкните стрелку Следующий результат поиска или Предыдущий результат поиска.
После завершения поиска щелкните X в конце поле » Поиск документов для. «.
Как выделить слова в ворде при поиске
Т.е. Задача стоит такая :
Документ — имеется много строк вот такого скажем вида
папа мама сын дочь тесть зять12
мама папа дочь сын деверь золовка 14
сын дочь мама папа 15
мама папа дочь сын сноха отчим 14
Поиск ведем по конечной цифре в строке — 14
Т.е. — надо найти все строчки с цифрой 14, выделить всю строку, где найдена такая цифра, чтобы скопировать.
Причем слова перед цифрами стоят разной длины.
Я пробовал в поиске Word вбивать такую комбинацию
^? символ любого знака + цифра 14
т.е. вот такой вид :
^?14
Можно подставить еще несколько знаков, т.е.
^?^?^?^?^?^?^?^?14
Но слова в строке все разной длины и так не получается
В общем — прошу совета !
Kost Troll |
Посмотреть профиль |
Найти ещё сообщения от Kost Troll |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,534
*
Выделять нужно, отметив (в окне, что по Ctrl-F) подстановочные знаки.
И туда скопируйте такой текст:
Вопрос — а дальше-то что с выделением делать?
Изображения
SomeTool.png (32.2 Кб, 853 просмотров) |
Sasha_Smirnov |
Посмотреть профиль |
Найти ещё сообщения от Sasha_Smirnov |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,534
Ну на всякий случай сделал для каких угодно абзацев (строк, обрывающихся символом с кодом 11 [перевод строки — как у вас] либо 13 [между абзацами, а также в конце файла]) — кроме пустых (на них Exit ).
Sub AnySeg() Dim act As Long ' счётчик Selection.HomeKey wdStory ' курсор в начало With Selection.Find .MatchWildcards = True ' флажок Подстановочные знаки (не забыть потом снять) Do .Text = "*[^11^13]" 'то, что ищем в тексте документа Word' .Replacement.Text = "^&" 'заменяем то, что ищем, на то же самое (здесь)' .Wrap = wdFindStop 'останавливаемся на найденной комбинации' .Format = False 'формат не учитываем' .Execute Replace:=wdReplaceOne 'заменяем 1 раз (что нашли)' If Asc(Selection) = 13 Then MsgBox act: Exit Do Selection.Collapse wdCollapseEnd 'сброс выделения к его концу (иначе - зациклится) act = act + 1 'считаем акт «замены» Loop Until Not .Found End With End Sub
Sasha_Smirnov |
Посмотреть профиль |
Найти ещё сообщения от Sasha_Smirnov |
Регистрация: 08.07.2011
Сообщений: 2
Сорри у меня чегой-то ваш скрипт зависает
Вот этот скрипт работает :
Но он выделяет найденные строки со словом — ЖИРНЫМ.
А мне надо не жирным а выделение строки для копирования в другой документ.
Или скажем так — скопировать все выделенное жирным в другой документ
Я в программировании — дуб.
Так что простите если сморозил какую глупость
Kost Troll |
Посмотреть профиль |
Найти ещё сообщения от Kost Troll |
Регистрация: 31.12.2010
Сообщений: 2,133
Попробуйте — будет сформирован новый документ, содержащий искомые строки:
Sub Макрос2() Dim aDoc As Document, nDoc As Document Application.ScreenUpdating = False Set aDoc = ActiveDocument Set nDoc = Documents.Add aDoc.Activate With Selection .HomeKey Unit:=wdStory .Find.ClearFormatting With .Find .Text = "14" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With End With Do With Selection If Not .Find.Execute Then Exit Do .HomeKey Unit:=wdLine .EndKey Unit:=wdLine, Extend:=wdExtend .Copy .EndKey Unit:=wdLine End With nDoc.Activate Selection.EndKey Unit:=wdStory Selection.Paste aDoc.Activate Loop nDoc.Activate Application.ScreenUpdating = True End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,534
Примечание 1
.Format = False .MatchCase = False .MatchWholeWord = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False
можно убрать за ненадобностью.
.Text = «14» я бы, для большего охвата, заменил на .Text = «^#^#» (две цифры)
Sasha_Smirnov |
Посмотреть профиль |
Найти ещё сообщения от Sasha_Smirnov |
Регистрация: 30.10.2016
Сообщений: 1
Поиск и выделение всей строки с найденным словом
А ещё можно в бесплатном редакторе Notepad++ в поиске набрать 14 и все строки выведутся, выделяем их, копируем и всё.
Word: как выделить текст с учетом стиля
Уважаемая редакция! На моем нетбуке установлен Linux, поэтому дома все документы я готовлю в программе Writer пакета OpenOffice. На работе использую лицензионный Word. У Writer есть удобная возможность: при поиске текста («Ctr + F») или указанного стиля он выделяет все вхождения в отдельный блок. Затем с этим блоком можно выполнить какие-то действия, например заменить некоторые символы в пределах выделенного блока и т. д. Есть ли такая возможность у программы Word?
Л. Харламова, бухгалтер, г. Харьков
Отвечает Николай КАРПЕНКО , канд. техн. наук, доцент кафедры прикладной математики и информационных технологий Харьковской национальной академии городского хозяйства
В программе Word такая возможность есть, причем не одна. Все зависит от того, как подготовлен текст, используются ли в нем стили. Начнем с ситуации, когда стили в документе не применялись. В этом случае поиск мы организуем по контексту. На рис. 1. показан фрагмент договора. Нам нужно выделить в отдельный блок все вхождения слова «договор».
Для этого делаем так:
Ctrl+F» (инструмент «Поиск и замена»).
Найти и заменить» в поле «Найти:» вводим текст для поиска (в нашем случае это слово «Договор»).
3. Включаем флажок «
Выделить все элементы, найденные в:» — станет доступным выбор из одноименного списка (рис. 2).
4. Если предварительно не был выделен фрагмент в исходном тексте, в списке будет одно значение: «
Основной документ». Оставляем его без изменений. Если перед началом поиска выделить фрагмент текста, в списке появится строка «Текущий фрагмент». Это дает возможность ограничить действие поиска определенной частью документа.
5. Нажимаем кнопку «
6. После окончания поиска появится кнопка «
Закрыть». Нажимаем ее.
Все вхождения слова «
договор» в документе выделены в несвязный блок (рис. 3). Теперь к нему можно применить любое действие: изменить формат, назначить стиль и т. д.
Описанный способ работает, но обладает своими недостатками. Так, в нашем случае Word выделил не только слово «договор», но и его вхождения в слова «договора», «договору» и т. д. Частично решить проблему можно с использованием
подстановочных знаков. Но так бывает не всегда. В некоторых случая сформировать условие поиска для точного выбора всех элементов сложно. Взглянем на завершающую часть договора (рис. 4). Предположим, что нам понадобилось выделить в блок сведения о заемщике. Построить шаблон для такого поиска непросто, ведь сведения могут включать практически любые символы! Поэтому на практике лучше пользоваться стилями и затем использовать эти стили для выделения фрагментов в документе. Например, в нашем договоре указанные сведения набраны стилем «!Атрибуты». Нужно организовать выделение блока, используя этот стиль. В Word есть два основных способа решения такой задачи.
Способ 1. Применить инструмент поиска и замены.
Для этого нужно сделать так:
Ctrl+F» (вызвать окно «Найти и заменить»).
2. В окне нажать кнопку «
Больше». Появятся дополнительные параметры поиска и замены.
3. В дополнительных параметрах нажать кнопку «
Формат». Раскроется список из 7 вариантов.
4. Щелчком мыши выбрать из списка «
Стиль…». Откроется окно с перечнем стилей.
5. В нем двойным щелчком выбрать стиль «
6. Включить флажок «
Выделить все элементы, найденные в:», выбрать вариант «Основной документ» или «Текущий фрагмент».
7. Нажать кнопку «
Найти все», а после завершения поиска — кнопку «Закрыть». Результат работы показан на рис. 5.
Способ 2. Использовать панель
«Стили и форматирование». Лично мне этот способ нравится больше. Для этого делаем так:
1. Вызываем меню «
Формат → Стили и форматирование». Откроется панель со списком доступных стилей (рис. 6).
2. Справа возле каждого стиля есть значок раскрытия списка (рис. 6). Щелкаем на нем левой кнопкой мыши.
3. Появится меню из четырех значений. Выбираем «
Выделить все вхождения». Результат будет таким же, как на рис. 5.
При работе с окном «
Стили и форматирование» есть важная особенность.
Выделить вхождения через панель «Стили и форматирование» можно только в том случае, если на закладке «Правка» параметров Word включен флажок «Вести учет форматирования» (рис. 7).
На работе этого флажка имеет смысл остановиться подробнее.
1. Вызовите меню «
Сервис → Параметры…». Перейдите на закладку «Правка».
2. Включите флажок «
Вести учет форматирования» (рис. 7).
3. Закройте окно параметров, нажав кнопку «
4. Найдите в документе фрагмент текста, набранного любым стилем. В нашем примере это будет стиль «
5. Измените формат этого фрагмента через кнопку на панели инструментов, например сделайте его полужирным.
6. Посмотрите на список стилей: в нем появился новый элемент (в нашем случае это будет «
7. Выберите другой фрагмент текста со стилем «
!Атрибуты». Добавьте к нему курсивное начертание. Появился дополнительный стиль «!Атрибуты+курсив».
При включенном флажке «Вести учет форматирования» список стилей может стремительно расти, работать с длинным списком становится неудобно. Сократив список, вы ускорите свою работу. Поэтому при форматировании текстов стилями флажок «Вести учет форматирования» имеет смысл отключить.
Когда же речь идет о выделении фрагментов с определенным стилевым оформлением, флажок «
Вести учет форматирования» нужно перевести в активное состояние. В противном случае пункт «Выделить все вхождения» в списке возможных операций над стилем будет недоступен.
Надеюсь, нам удалось ответить на поставленный вопрос. Но в завершение темы хочу сказать пару слов о том, где можно применить описанные методы. Один из возможных примеров — ситуация, описанная в статье «Работая с программой-переводчиком» (см. «Б & К», 2009, № 8, с. 16). Проблема была такой. Есть текст на русском языке, в котором находятся специальные термины в кавычках. Примером таких терминов в этой статье могут быть названия команд меню, параметров и т. д. Нужно перевести текст на украинский язык, а специальные термины не трогать. Мы предлагали такое решение. Средствами контекстного поиска заменить символ «
«» на ««_», символ «»» на «_»». В результате, скажем, слово «Файл» превратилось в «_Файл_», и некоторые переводчики такой набор символов переводить не будут. Но как быть в ситуации, когда термин состоит из нескольких слов? Например, «режим замены текста». Чтобы применить предложенный подход в этом случае, придется заменить пробелы внутри кавычек на символ «_». Для этого применялась довольно хитрая маска подстановочных знаков. Но есть другое решение. Оно возможно, если термины в тексте выделены своим стилем. Тогда достаточно через панель «Стили и форматирование» выделить текст с этим стилем и контекстным поиском (через «Ctrl+H») изменить в пределах этого блока символ « » (пробел) на «_». Простое и быстрое решение. Правда, для его реализации вы должны форматировать документы только на основе стилей, о чем, впрочем, мы и писали во всех наших статьях о работе с текстовыми процессорами. Удачной работы!
Жду ваших писем, замечаний, вопросов и предложений на