Необх-мо найти выделенный текст и подчеркнуть

Необх-мо найти выделенный текст и подчеркнуть

Необх-мо в Worde найти выделенный текст (залито зеленым цветом) и подчеркнуть.

2 Ответ от Ципихович Эндрю 29.04.2012 19:43:24
  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Необх-мо найти выделенный текст и подчеркнуть

выделяете нужное и магнитофон на запись, ок?

3 Ответ от cobra77777 30.04.2012 04:59:41
  • cobra77777
  • сержант
  • Неактивен
  • Зарегистрирован: 29.04.2012
  • Сообщений: 10
Re: Необх-мо найти выделенный текст и подчеркнуть

выделяете нужное и магнитофон на запись, ок?

почему то не работает

Selection.HomeKey Unit:=wdStorySelection.Find.ClearFormattingSelection.Find.Text = wdGreenWhile Selection.Find.Execute = True i = 0 While Selection.Text <> wdGreen Selection.MoveLeft Unit:=wdCharacter, Count:=15, Extend:=wdExtend Selection.Font.UnderlineColor = wdColorAutomatic Selection.Font.Underline = wdUnderlineSingle i = i + 1

пример.doc 21.5 Кб, 1 скачиваний с 2012-04-30

You don't have the permssions to download the attachments of this post.

4 Ответ от Ципихович Эндрю 30.04.2012 05:04:27
  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Необх-мо найти выделенный текст и подчеркнуть

вы реально на запись ставили?

5 Ответ от cobra77777 30.04.2012 05:44:48
  • cobra77777
  • сержант
  • Неактивен
  • Зарегистрирован: 29.04.2012
  • Сообщений: 10
Re: Необх-мо найти выделенный текст и подчеркнуть 6 Ответ от Ципихович Эндрю 30.04.2012 06:57:00
  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Необх-мо найти выделенный текст и подчеркнуть

я тоже поставил

Selection.Find.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With If Selection.Font.Underline = wdUnderlineNone Then Selection.Font.Underline = wdUnderlineSingle Else Selection.Font.Underline = wdUnderlineNone End If

не увидел магическихWendWend

7 Ответ от Ципихович Эндрю 30.04.2012 06:58:02
  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Необх-мо найти выделенный текст и подчеркнуть

согласен, эту строку Selection.HomeKey Unit:=wdStory вверху можно оставить

8 Ответ от cobra77777 30.04.2012 07:17:56
  • cobra77777
  • сержант
  • Неактивен
  • Зарегистрирован: 29.04.2012
  • Сообщений: 10
Re: Необх-мо найти выделенный текст и подчеркнуть

я тоже поставил

Selection.Find.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With If Selection.Font.Underline = wdUnderlineNone Then Selection.Font.Underline = wdUnderlineSingle Else Selection.Font.Underline = wdUnderlineNone End If

не увидел магическихWendWend

я так понимаю в строках нужно дописать след-ее: With Selection.Find .Text = wdGreen .Replacement.Text = ""Selection.Font.Underline = wdUnderlineSingle

9 Ответ от cobra77777 30.04.2012 07:19:12
  • cobra77777
  • сержант
  • Неактивен
  • Зарегистрирован: 29.04.2012
  • Сообщений: 10
Re: Необх-мо найти выделенный текст и подчеркнуть

я тоже поставил

Selection.Find.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With If Selection.Font.Underline = wdUnderlineNone Then Selection.Font.Underline = wdUnderlineSingle Else Selection.Font.Underline = wdUnderlineNone End If

не увидел магическихWendWend

я так понимаю в строках нужно дописать след-ее: With Selection.Find .Text = wdGreen .Replacement.Text = Selection.Font.Underline = wdUnderlineSingle

10 Ответ от Ципихович Эндрю 30.04.2012 07:30:44
  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Необх-мо найти выделенный текст и подчеркнуть

.Text = wdGreen - нет, это то что ищете, как Вы указали вы ищете переменную wdGreen, то есть если бы выше было wdGreen = "ав", это бы означало, что Вы ищете ав, а так ничего не ищем - т.е. любой текст .Replacement.Text = ""Selection.Font.Underline = wdUnderlineSingle - нет, это то на что меням, ни на что не меняемТо есть ничего не ищем и ни на что не меняем, просто выделяем, а потом выделенное подчёркиваем

11 Ответ от cobra77777 30.04.2012 08:12:51
  • cobra77777
  • сержант
  • Неактивен
  • Зарегистрирован: 29.04.2012
  • Сообщений: 10
Re: Необх-мо найти выделенный текст и подчеркнуть

.Text = wdGreen - нет, это то что ищете, как Вы указали вы ищете переменную wdGreen, то есть если бы выше было wdGreen = "ав", это бы означало, что Вы ищете ав, а так ничего не ищем - т.е. любой текст .Replacement.Text = ""Selection.Font.Underline = wdUnderlineSingle - нет, это то на что меням, ни на что не меняемТо есть ничего не ищем и ни на что не меняем, просто выделяем, а потом выделенное подчёркиваем

Недоработка в коде есть, в том плане, что когда я выделяю весь документ (а он порядка из 200 страниц у меня в word) , то выделяется всё. Хотелось бы как в моем примере выделялись только определенные слова.

12 Ответ от Ципихович Эндрю 30.04.2012 08:22:40
  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Необх-мо найти выделенный текст и подчеркнуть

там расписано всё

13 Ответ от Ципихович Эндрю 30.04.2012 08:28:23
  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Необх-мо найти выделенный текст и подчеркнуть

сноровку нужно иметь.

Find Find Find.doc 44.5 Кб, 1 скачиваний с 2012-04-30

You don't have the permssions to download the attachments of this post.

14 Ответ от cobra77777 30.04.2012 13:33:44
  • cobra77777
  • сержант
  • Неактивен
  • Зарегистрирован: 29.04.2012
  • Сообщений: 10
Re: Необх-мо найти выделенный текст и подчеркнуть

Спасибо за присланные алгоритмы Эндрю, но мой вопрос так и остался не решенным .И потом никак я не пойму: >То есть ничего не ищем и ни на что не меняем, просто выделяем, а потом выделенное подчёркиваем.Я считаю, нам надо все таки найти текст (выделенный заливкой), а потом как найдем текст сделать нижнее подчеркивание. Я спрашивал как найти выделенный заливкой текст, мы все таки все равно должны где то это указать ?

15 Ответ от viter.alex 30.04.2012 21:58:56
  • viter.alex
  • Модератор
  • Неактивен
  • Откуда: Харьков, Украина
  • Зарегистрирован: 21.12.2009
  • Сообщений: 884
  • Поблагодарили: 140
Re: Необх-мо найти выделенный текст и подчеркнуть

Чтобы найти выделенный цветом текст, это нужно указать. Вот что дала запись макроса:

Нужно обратить внимание на вторую строчку кода: именно она и указывает, что текст должен быть выделен цветом. Правда, как указать цвет выделения, я не нашёл. Но это не беда, небольшое допиливание напильником и всё заработает. Вместо последней строчки Selection.Find.Execute, нужно записать:

16 Ответ от aap77 30.04.2012 22:40:06
  • aap77
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 12.09.2011
  • Сообщений: 925
  • Поблагодарили: 243
Re: Необх-мо найти выделенный текст и подчеркнуть 17 Ответ от viter.alex 01.05.2012 01:26:43
  • viter.alex
  • Модератор
  • Неактивен
  • Откуда: Харьков, Украина
  • Зарегистрирован: 21.12.2009
  • Сообщений: 884
  • Поблагодарили: 140
Re: Необх-мо найти выделенный текст и подчеркнуть

aap77, вот эта задача как раз из тех, где применение объекта Range не оправдано, т.к. становится больше кода и лишних операций. А именно, когда нужно при поиске вводить свои действия с найденным текстом, то лучше пользоваться Selection, т.к. после выполнения пользовательских действий над текстом поиск продолжается, а в случае с Range он прерывается и необходимо переопределять диапазон для запуска нового поиска.

18 Ответ от Ципихович Эндрю 01.05.2012 05:03:54
  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Необх-мо найти выделенный текст и подчеркнуть

что-то я советовал, а теперь сам в ступоре, с выделением работает, а если просто шрифт зелёный - не работает

Sub Ищём_выделенное_цветом_wdGreen_и_подчёркиваем()

Selection.Find.ClearFormatting Selection.Find.Highlight = True Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Underline = wdUnderlineSingle With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With While Selection.Find.Execute 'цвет зелёный If Selection.Font.Color = wdColorGreen Then 'выделение зелёным цветом 'If Selection.Range.HighlightColorIndex = wdGreen Then 'сделать шрифт подчёркнутым Selection.Font.Underline = wdUnderlineSingle End If Wend

End Sub

19 Ответ от cobra77777 01.05.2012 07:43:57
  • cobra77777
  • сержант
  • Неактивен
  • Зарегистрирован: 29.04.2012
  • Сообщений: 10
Re: Необх-мо найти выделенный текст и подчеркнуть

что-то я советовал, а теперь сам в ступоре, с выделением работает, а если просто шрифт зелёный - не работает

Sub Ищём_выделенное_цветом_wdGreen_и_подчёркиваем()

Selection.Find.ClearFormatting Selection.Find.Highlight = True Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Underline = wdUnderlineSingle With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With While Selection.Find.Execute 'цвет зелёный If Selection.Font.Color = wdColorGreen Then 'выделение зелёным цветом 'If Selection.Range.HighlightColorIndex = wdGreen Then 'сделать шрифт подчёркнутым Selection.Font.Underline = wdUnderlineSingle End If Wend

End Sub

Пробежался быстренько, но опять но не подчеркнул.

20 Ответ от aap77 01.05.2012 08:32:16
  • aap77
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 12.09.2011
  • Сообщений: 925
  • Поблагодарили: 243
Re: Необх-мо найти выделенный текст и подчеркнуть

Товарищи, в том-то и дело, что у объекта Find, есть такое замечательное свойство как Found, после выполнения оператора Execute, если Found = True, то с найденным фрагментом можно делать все, что позволяет код VBA, в том числе, и задавать дополнительные условия, а потом уже выполнять операции по замене. У Вас же в примерах цикл While Selection.Find.Execute…Wend выполняется только к первому найденному фрагменту. Так же в моем примере использован объект Range основе обекта Selection и свойство rngEnd = rng.End для определения точки выхода из цикла во избежание зацикливания программы

21 Ответ от viter.alex 01.05.2012 12:11:13
  • viter.alex
  • Модератор
  • Неактивен
  • Откуда: Харьков, Украина
  • Зарегистрирован: 21.12.2009
  • Сообщений: 884
  • Поблагодарили: 140
Re: Необх-мо найти выделенный текст и подчеркнуть

…У Вас же в примерах цикл While Selection.Find.Execute…Wend выполняется только к первому найденному фрагменту…

Он выполняется к каждому найдённому фрагменту по очереди. Т.е. сначала у меня задаются условия поиска, а затем поиск вызывается в цикле While.aap77, я не говорю, что твой код не правильный. Он не оптимальныйcobra77777, попробуй макросы из сообщений 15 и 16 этого должно хватить

22 Ответ от cobra77777 01.05.2012 16:21:37
  • cobra77777
  • сержант
  • Неактивен
  • Зарегистрирован: 29.04.2012
  • Сообщений: 10
Re: Необх-мо найти выделенный текст и подчеркнуть

ВСЕМ БОЛЬШОЕ СПАСИБО ЗА ПОМОЩЬ. ВСЕ ПОЛУЧИЛОСЬ УРАААААААА.РАБ.КОД:

Sub Макрос1()'' Макрос1 Макрос Selection.Find.ClearFormatting Selection.Find.Highlight = True Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Underline = wdUnderlineSingle With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With While Selection.Find.Execute If Selection.Range.HighlightColorIndex = wdGreen Then Selection.Font.Underline = wdUnderlineSingle End IfWendEnd Sub

Сообщений [ 22 ]

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Похожие темы

Необх-мо найти выделенный текст и подчеркнуть

При работе с многофункциональными современными редакторами текста, такими как, например, Microsoft Word, очень часто возникает потребность обсудить проблемы и нюансы работы. Наш сайт о Microsoft Office Word даст ответ про: рамка мишки ворд. В зависимости от типа текста, цели, с которой он создается или редактируется, пользователю приходится осваивать те или иные функции, искать пути автоматизации своей работы, особенно это актуально для значительных объемов текста. На портале о Microsoft Office Word вы узнаете про: microsoft word как отключить клавишу alt office. Также бывают трудности при переходе от одной версии Ворда к другой.

Помочь пользователям текстового редактора решили на сайте Ворд Эксперт и форуме сайта. Наш сайт о Microsoft Office Word даст ответ про: завис ворд, как сохранить документ. Тут собрана вся необходимая информация, касающаяся программы, доступны полезные ссылки и списки литературы, выложены готовые ответы на самые стандартные вопросы, кроме того, оригинальные решения различных проблем при работе с программой. Наш сайт о Microsoft Office Word даст ответ про: в каких случаях новая строка предложения не является красной. Например, на форуме вы найдете макросы для нумерации разделов, шаблоны оглавлений, принципы работы с горячими клавишами и многое другое. На портале о Microsoft Office Word вы узнаете про: как удалить недавно открытые вкладки?.

Прежде всего, Ворд Эксперт, ориентирован на автоматизацию работы Ворда, тут обсуждаются разнообразные макросы и шаблоны, но также вы найдете сравнительные характеристики различных версий, обсуждение настроек программы и способов редактирования и форматирования тексов. На портале о Microsoft Office Word вы узнаете про: скачать активатор офис 2007.

Кроме того, вы можете описать свою проблему в специальном подразделе и получить готовое решение.

📎📎📎📎📎📎📎📎📎📎