Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 10 ]
- Зарегистрирован: 03.07.2011
- Сообщений: 4
Тема: Найти и выделить текст цветом
Как можно найти текст и выделить его определенным цветом?
Запускаю "Поиск", задаю текст, нажимаю "Выделение при чтении" - "Выжелить все", текст выделяется, но потом цвет слетает, а мне надо его сохранить.
Можно конечно через кнопку "найти в основном документе", фрагмент выделяется по всему тексту и щелкаю по палитре. Но при этом, если текст большой, то при нажатии на кнопку я улетаю на другую страницу и потом приходится искать слово с которого начинался поиск, а это очень не удобно.
- Зарегистрирован: 27.06.2011
- Сообщений: 87
- Поблагодарили: 21
- За сообщение: 1
Re: Найти и выделить текст цветом
перед началом поиска разделите окно документа пополам (окно -> разделить)
в верхнем окне ищите слово, с которого нужно начать поиск.
после щелкаете курсором в нижнее окно, и поиск производите уже из него через кнопку "найти в основном документе". текст выделяется, щелкаете по палитре. при этом выделение происходит и в верхнем и в нижнем окне.
убрать разделение окна: окно -> снять разделение.
можно разделить окно и не заходя в панель инструментов, просто щелкнув два раза ЛКМ в правом верхнем углу листа над полосой вертикальной линейки
- Зарегистрирован: 03.07.2011
- Сообщений: 4
Re: Найти и выделить текст цветом
Nikodim пишет:окно -> разделить
Спасибо:) Ваш совет помог:)
- Настаев
- подполковник
- Неактивен
- Зарегистрирован: 14.07.2011
- Сообщений: 176
- Поблагодарили: 54
Re: Найти и выделить текст цветом
Могу предложить решение с помощью макроса
- Зарегистрирован: 03.07.2011
- Сообщений: 4
Re: Найти и выделить текст цветом
Настаев пишет:Могу предложить решение с помощью макроса
буду благодарна
- Настаев
- подполковник
- Неактивен
- Зарегистрирован: 14.07.2011
- Сообщений: 176
- Поблагодарили: 54
Re: Найти и выделить текст цветом
Sub Покрасить_с_подстановочными_знаками(ByVal что As String)
'Запуская этот макрос из другого макроса, ему можно передать атрибут "что". Это очень удобно для поиска и замены разных слов и словосочетаний.
'сбить выделение, чтобы макрос распространялся на весь документ
Application.Selection.MoveLeft(Unit:=WdUnits.wdCharacter, Count:=1)
'очистить формат поиска и замены
Application.Selection.Find.ClearFormatting()
Application.Selection.Find.Replacement.ClearFormatting()
'настроить формат замены (используестя последний использованный цвет подсветки)
Application.Selection.Find.Replacement.Highlight = True
'параметры поиска
With Application.Selection.Find
.Text = что
.Replacement.Text = "" 'в данном случае текст не будет удаляться или заменяться ничем. К нему будет применён формат поиска
.Forward = True '
.Wrap = WdFindWrap.wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
'выполнить
Application.Selection.Find.Execute(Replace:=WdReplace.wdReplaceAll)
End Sub
![Найти и выделить текст цветом Найти и выделить текст цветом](http://wordexpert.ru/forum/img/avatars/900.jpg)
- Framell
- сержант
- Неактивен
- Откуда: Москва, Россия
- Зарегистрирован: 11.03.2011
- Сообщений: 27
- Поблагодарили: 3
Re: Найти и выделить текст цветом
vikky пишет:Как можно найти текст и выделить его определенным цветом?
Для таких целей используется команда Заменить (Replace), в которой нужно указать поиск и замену по формату (кнопка Формат в диалоговом окне)
В нашей стране чтобы быть бедным надо очень долго и хорошо учиться.
- Настаев
- подполковник
- Неактивен
- Зарегистрирован: 14.07.2011
- Сообщений: 176
- Поблагодарили: 54
Re: Найти и выделить текст цветом
Напишите рядом с этим макросом другой макрос для его запуска с атрибутом искомого текста (то, чтобы вы писали в дислоговом окне "Найти")
Например:
Sub Подсветка
'подсветка скобок
Покрасить_с_подстановочными_знаками("[\(\)]") 'в кавычках передаётся строковый параметр - искомый текст
'подсветка знака номер
Покрасить_с_подстановочными_знаками("№")
End sub
Запустив макрос "Подсветка" вы получите подсвеченные скобки и знак № во всём документе
Думаю, нетрудно сделать другой похожий макрос, только для подсветки без подстановочных знаков.
Лучше этого способа Вы не найдёте. Только не забудьте самом первом макросе (тот, который будет запускаться первым) вписать строку "Application.ScreenUpdating = false". Это действие отключит смену экрана пока будет выполнятся работа VBA. Иначе макросы выполняются долго.
- Зарегистрирован: 03.07.2011
- Сообщений: 4
Re: Найти и выделить текст цветом
А можно создать макрос по следующей схеме?
Есть большой документ, в нем много номеров телефонов, необходимо сделать выборку.
Найти текст не выделенный цветом «89*********» или «8_9*********» (где * - какая-то цифра).
Запомнить.
Найти этот текст по всему документу.
Если одинаковых объектов больше 3, то выделить одним цветом, если меньше или равно трем, то выделить другим цветом.
Повторять условие пока ничего не найдет. В конце все телефоны станут раскрашены в два цвета.
- Настаев
- подполковник
- Неактивен
- Зарегистрирован: 14.07.2011
- Сообщений: 176
- Поблагодарили: 54
Re: Найти и выделить текст цветом
Это можно. Но удобнее использовать базу данных для таких выборок.
Если же Вы хотите поиграться с этим, могу дать макрос, который я однажды написал, отвечая на подобную тему. Он ищет слова в тексте, которые встречаются в каждом предложении документа. Поняв основные принципы, Вы сможете сами написать нужный Вам макрос.
Sub Одинаковые_слова()
Dim j As Object
'отключение смены экрана (чтобы не моргало во время выполнения макроса)
Application.ScreenUpdating = False
'для каждого слов в тексте
For Each j In ActiveDocument.Words
'если слово есть во всех предложениях
If проверка(j.Text) Then
'сделать красным
j.Font.Color = WdColor.wdColorDarkRed
End If
Next
'сообщить о завершении выполнения
MsgBox "Готово"
End Sub
Function проверка(ByRef слово As String) As Boolean
Dim j As Object
'для каждого предложения в тексте
For Each j In ActiveDocument.Sentences
'если слова нет в этом предложении (учитывается регистр)
If InStr(j, слово) = 0 Then
'выход из функции (будет возвращён отрицательный результат)
Exit Function
End If
Next j
'возврат положительного результата
проверка = True
End Function
Сообщений [ 10 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Найти и выделить текст цветом
Многие применяют для работы с текстом редактор Microsoft Word. Рано или поздно у пользователей этой программы возникают разные вопросы. Наш сайт о Microsoft Office Word даст ответ про: как сделать автообновление полей?.
До недавнего времени информацию в сети было найти затруднительно, так как она разбросана по разным ресурсам и форумам. Наш сайт о Microsoft Office Word даст ответ про: оформление документа в текстовом редакторе ms word.
Но вот наконец появился форум, на котором вся информация по работе с Microsoft Word собрана воедино. Наш сайт о Microsoft Office Word даст ответ про: установить шрифт по умолчанию word 2007.
Форум Ворд Эксперт предназначен для русскоязычных пользователей, интерфейс интуитивно понятен, а регистрация быстра и легка. Наш сайт о Microsoft Office Word даст ответ про: программа не работает возникшая проблема привела к прекращению работы программы.
На форуме можно задать вопрос о настройках, форматированию и редактированию документов, узнать все о шаблонах, полях и макросах. Наш сайт о Microsoft Office Word даст ответ про: как перевести из ворд 2010 в 2003.
И даже найти готовые макросы и инструкции по их созданию своими руками. Если же вы захотите, то можно оставить заявку на написание макроса в соответствующем разделе сайта. Наш сайт о Microsoft Office Word даст ответ про: как сделать в ворде шрифт вниз.
При любых сложностях в работе с программой, разработке шаблонов, создании таблиц или редактировании текста вы можете задать вопрос на форуме. Наш сайт о Microsoft Office Word даст ответ про: выделенный фрагмент заблокирован.
Обязательно указывайте, какой версией редактора вы пользуетесь. Можно сделать это в подписи. Также на сайте можно найти ссылки с полезной информацией по Microsoft Word и различную литературу, готовые решения и советы по оптимизации работы с редактором. Наш сайт о Microsoft Office Word даст ответ про: антонимы онлайн словарь.