powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ворд выделение всего найденного сразу
15 сообщений из 15, страница 1 из 1
Ворд выделение всего найденного сразу
    #39493455
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте мне кажется у меня этот отрезок кода:

Код: vbnet
1.
2.
3.
4.
5.
6.
With ActiveDocument.Range.Find
                    .Text = Trim(y(1))
                    Do While .Execute = True
                        .Parent.Select
                        Selection.Range.Font.Color = wdColorLightOrange
                    Loop               End With


можно заменить на такой, который сразу выделает все найденные совпадения, пока не знаю как... не подскажете? спс

просто если магнитофоном записать то получим:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
With Selection.Find
        .Text = "при"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With


потом если пошагово делать этот код, то .... фиаско
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39495370
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Option Explicit

Sub HighLightAll()

Dim wd As Word.Document
Dim rn As Range

Set wd = ThisDocument
Set rn = wd.Range

With rn.Find
    .Replacement.Highlight = True
    .Text = "lorem"
    .MatchWholeWord = True
    .Execute Replace:=wdReplaceAll
End With

End Sub
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39495699
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy, здравствуйте, опробовал Ваш код, ничего не выделяет, следовательно строку
Код: vbnet
1.
Selection.Range.Font.Color = wdColorLightOrange


выполнять безсмысленно
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39495729
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаiMrTidy, здравствуйте, опробовал Ваш код, ничего не выделяет, следовательно строку
Код: vbnet
1.
Selection.Range.Font.Color = wdColorLightOrange


выполнять безсмысленно

Давайте пример файла, будем разбираться.
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39495812
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy,
пожалуйста
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39495855
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаiMrTidy,
пожалуйста

Если Вам нужно выделение по части слова, то нужно соответственно изменить параметр поиска.

Код: vbnet
1.
.MatchWholeWord = False
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39495891
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy, респект, только в упор не пойму где та строка, которая делает нужное выделение цветом зелёным и как будет если нужно жёлтым или просто шрифт красным цветом? спасибо
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39496018
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаiMrTidy, респект, только в упор не пойму где та строка, которая делает нужное выделение цветом зелёным и как будет если нужно жёлтым или просто шрифт красным цветом? спасибо

Возможно, у Вас мелкий шрифт, вот эта строчка:
Код: vbnet
1.
.Replacement.Highlight = True



Чтобы изменить цвет, можно, например, поменять стандартный цвет подсветки:

Код: vbnet
1.
Options.DefaultHighlightColorIndex = wdBrightGreen
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39496958
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy, понял, спасибо
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39538501
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте, на этот топик зашел после напоминания в другой теме, сорри
iMrTidy, респект, только в упор не пойму где та строка, которая делает нужное выделение цветом зелёным и как будет если нужно жёлтым или просто шрифт красным цветом ?
iMrTidy, с подчёркнутым не подскажите?
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39538567
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,

Для начала перечитайте внимательно топик, а потом уж вопросы, если будут.
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39539291
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
'
Sub Выделение_цветом_желтый()
'
    Options.DefaultHighlightColorIndex = wdYellow
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Highlight = True
    With Selection.Find
        'эта опция отвечает за поиск с использованием подстановочных знаков
        'не работает когда установлено в положение False, или её нет вообще
        'если установлена в положение True, тогда работает
        .MatchWildcards = True
        'ищем
        .Text = "наказыва?тся*."
        .Replacement.Text = ""
        'свойство Wrap (Поворачивать, Заворачивать) определяет поведение поиска при достижении конца документа, wdFindContinue (ПоискПродолжать)
        .Wrap = wdFindContinue
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
'
Sub Цвет_текста_лиловый()
'
'цвет текста - лиловый
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Font.ColorIndex = wdPink
    With Selection.Find
        'эта опция отвечает за поиск с использованием подстановочных знаков
        'не работает когда установлено в положение False, или её нет вообще
        'если установлена в положение True, тогда работает
        .MatchWildcards = True
        'ищем
        .Text = "наказыва?тся*."
        .Replacement.Text = ""
        'свойство Wrap (Поворачивать, Заворачивать) определяет поведение поиска при достижении конца документа, wdFindContinue (ПоискПродолжать)
        .Wrap = wdFindContinue
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39539353
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,

Вы что фанат WET программирования?
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39539358
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyВы что фанат WET программирования?Именно так. Когда ему понадобится покрасить в красный, а не в желтый, он сделает копию этой функции, заменит название и код цвета. Не удивляйся, прими как данность.
У Эндрю есть специальный блокнотик - он сам рассказывал когда-то. Он туда копипастит код, который дают ему на форумах. Как код работает, он разобраться не пытается.
...
Рейтинг: 0 / 0
Ворд выделение всего найденного сразу
    #39539415
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Хорошо, что количество индексов цветов небольшое, со словами поиска/выделения будет другая история. А вообще, это забавляет.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ворд выделение всего найденного сразу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]