Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2011, 13:04   #1
Angry_Kitty
 
Регистрация: 26.07.2011
Сообщений: 5
По умолчанию Макрос для поиска и выделения слов

Добрый день!

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

Sub макрос()
'
Dim rTmp As Range
Set rTmp = ActiveDocument.Range
With Selection.Find
.Text = Selection.Text
.Replacement.Text = ""
.Replacement.Highlight = True
.Wrap = wdFindAsk
.Execute Replace:=wdReplaceAll
End With
End Sub

Проблема - слишком мало вариантов цветов в опции хайлайт, а нужно искать большое количество разных слов и выделять их по-разному. Можно ли сделать так,чтоб макрос использовал вместо хайлайта функцию заливки? Или чтобы он "переносил" с выделенного фрагмента не только подсвечивание, но и цвет шрифта? Пыталась так сделать, но никак не получается. По сути, нужно, чтобы макрос искал слова и делал их форматирование (подсвечивание+цвет шрифта или заливка) по образцу выделенного искомого фрагмента. Это реально? Очень нужна Ваша помощь..
Angry_Kitty вне форума Ответить с цитированием
Старый 26.07.2011, 17:40   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

'цвет ... слова для замены
.Replacement.Font.Color = wdColorPink
а уточнить цвет выделенного
ment = Selection.Font.Color
писал по памяти, проверяйте
Ципихович Эндрю вне форума Ответить с цитированием
Старый 26.07.2011, 23:10   #3
Angry_Kitty
 
Регистрация: 26.07.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
'цвет ... слова для замены
.Replacement.Font.Color = wdColorPink
а уточнить цвет выделенного
ment = Selection.Font.Color
писал по памяти, проверяйте
Спасибо, что откликнулись! Цвет найденных слов становится розовым, но нужна возможность каждый раз использовать разные цвета. И чтобы не указывать в коде цвет для каждого последующего поиска. Т.е. нужно, чтобы шрифт найденных слов становился того же цвета, что и искомый. Для одного документа искомые слова выделяются разными цветами подсветки и разными цветами шрифта, а не все одинаковым.
Скажите, пожалуйста, если это все бред и невозможно... я уж тогда мучиться не буду...
Angry_Kitty вне форума Ответить с цитированием
Старый 27.07.2011, 01:24   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Возможно.

Документик приложите...
Sasha_Smirnov вне форума Ответить с цитированием
Старый 27.07.2011, 14:02   #5
Angry_Kitty
 
Регистрация: 26.07.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Возможно.

Документик приложите...
Здорово, а я уже не надеялась! В приложении один из текстов, в которых нужно найти и выделить слова. Уже необязательно разнообразные цвета шрифта, можно два варианта - автоматический черный или белый. Чтобы слова отличались друг от друга. Заранее спасибо за помощь!
Вложения
Тип файла: doc текст для макроса.doc (39.5 Кб, 57 просмотров)
Angry_Kitty вне форума Ответить с цитированием
Старый 27.07.2011, 17:41   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

Что за унылие, я же Вам сказал

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
а уточнить цвет выделенного
ment = Selection.Font.Color
писал по памяти, проверяйте
Ципихович Эндрю вне форума Ответить с цитированием
Старый 27.07.2011, 17:47   #7
Angry_Kitty
 
Регистрация: 26.07.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Что за унылие, я же Вам сказал
Извините, я плохо разбираюсь в бейсике . Вставила эту строку, но все равно цвет шрифта становится розовым во всех случаях. А тогда нет никакой разницы - что он черный, что розовый, все равно получается 16 вариантов выделения слов. Наверно, я что-то не так делаю...

Sub макрос()
'
Dim rTmp As Range
Set rTmp = ActiveDocument.Range
With Selection.Find
.Text = Selection.Text
.Replacement.Text = ""
.Replacement.Highlight = True
.Replacement.Font.Color = wdColorPink
ment = Selection.Font.Color
.Wrap = wdFindAsk
.Execute Replace:=wdReplaceAll
End With
End Sub

Вот так должно быть? Я ничего не нашла про функцию ment...
Angry_Kitty вне форума Ответить с цитированием
Старый 27.07.2011, 19:38   #8
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

Я ничего не нашла про функцию ment...
Да это не функция можете написать шмент =
Замысел такой, найденное слово выделяете, выделенному узнаете цвет
шмент = Selection.Font.Color
а потом при замене говорите
.Replacement.Font.Color = шмент
Это Вам подходит???
Ципихович Эндрю вне форума Ответить с цитированием
Старый 28.07.2011, 10:21   #9
Angry_Kitty
 
Регистрация: 26.07.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Я ничего не нашла про функцию ment...
Да это не функция можете написать шмент =
Замысел такой, найденное слово выделяете, выделенному узнаете цвет
шмент = Selection.Font.Color
а потом при замене говорите
.Replacement.Font.Color = шмент
Это Вам подходит???
Дааа! Спасибо большое!!! Все работает!!!!
Angry_Kitty вне форума Ответить с цитированием
Старый 07.10.2014, 21:51   #10
ann-m
Новичок
Джуниор
 
Регистрация: 07.10.2014
Сообщений: 2
По умолчанию

все сделала.. заработало. Решила добавить еще одно слово... и все полетело((
теперь даже не могу вернуть то, что было...
ann-m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для поиска совпадений Dealaxer Microsoft Office Excel 18 26.09.2012 17:33
Макрос для поиска и отметки shafl Microsoft Office Excel 6 17.09.2010 10:57
оптимизация алгоритма выделения слов furstenberg Общие вопросы Delphi 12 02.02.2010 07:44
Макрос для поиска и замены слов на слова с верхним подчеркиванием salvafion Microsoft Office Word 4 07.09.2009 19:14
Макрос для поиска/замены Davidoff Microsoft Office Excel 1 20.01.2007 16:01