Как найти слова, подсвеченные определённым цветом?

Программирование на Visual Basic for Applications
Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Как найти слова, подсвеченные определённым цветом?

Сообщение Кукша12 » 25.09.2006 (Пн) 12:40

Как найти слова, подсвеченные определённым цветом?
Я имею ввиду не цвет букв, а фон позади них. То есть то, что делается кнопкой "Выделение цветом".

В документе могут быть слова, выделенные разными цветами. Некоторые из них надо перекрасить макросом.

inq
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 185
Зарегистрирован: 12.04.2006 (Ср) 7:50
Откуда: 78

Сообщение inq » 25.09.2006 (Пн) 13:37

HighlightColorIndex
подписи нет и не будет

LeoCh
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 22.09.2004 (Ср) 8:52

Сообщение LeoCh » 25.09.2006 (Пн) 13:57

Selection.Find.ClearFormatting
Selection.Find.Highlight = True
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute

Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Сообщение Кукша12 » 25.09.2006 (Пн) 16:24

LeoCh, это не то - оно находит просто подсвеченное, причём любым цветом, а мне надо среди кучи разноцветной подсветки выбрать подсвеченное НУЖНЫМ МНЕ цветом.

ing, HighlightColorIndex применим только к Range.
а вот как его привязать к поиску?

Проще: как найти подсвеченное красным, пропуская подсвеченное жёлтым?

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 25.09.2006 (Пн) 17:10

Соединить две высказанных мысли не пробовал? :)

Ищи с помощью Find с Highlight=True, после поиска проверяй Selection.Range.HighlightColorIndex. Если 6 - слово выделено красным, если 7 - желтым.
Быть... или не быть. Вот. В чём вопрос?

inq
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 185
Зарегистрирован: 12.04.2006 (Ср) 7:50
Откуда: 78

Сообщение inq » 25.09.2006 (Пн) 22:26

ing, HighlightColorIndex применим только к Range.


чем words(i) не range?

пс inq :!: :evil:
подписи нет и не будет

Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Сообщение Кукша12 » 26.09.2006 (Вт) 16:31

[quote="uhm"]Соединить две высказанных мысли не пробовал? [quote]

угу - днём вчера сторомозил, а вечером дошло - почти так и сделал. :)

Сейчас уже в другое уткнулся: цветов подсветки может быть всего 15 штук, получается?
Что-то что у меня HighlightColorIndex не принимает RGB()... Вот обидно... мне для отката надо потом снять выделения, а поскольку цветов мало, то высока вероятность, что снимутся выделения и с того, что не моими макросами было выделено - при совпадении цветов подсветки... Проверку на имеющиеся цвета подсветок делать придётся - костыли получаются. Эх-ма...


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

    TopList