Я ищу в документе Word (2016) с функцией VBA, ища абзацы, для которых применен желтый цвет фона.Это хорошо работает, если стиль абзаца - Normal
...
With Selection.Find
.ClearFormatting
.ParagraphFormat.Shading.BackgroundPatternColor = wdColorYellow
.Wrap = wdFindContinue
.Text = ""
End With
While Selection.Find.Execute
' do the thing
Wend
. После запуска я могу открыть диалоговое окно Advanced Find в Word, и это то, что показывает:
Есть некоторые абзацы с желтым фоновым рисунком, которые не Style = "Normal"
, и, как это бывает, я могу использовать диалог Формат -> Стиль, чтобы удалить требованиячто стиль это Normal
...
Если я сейчас вернусь в VBA, я смогуиспользуйте Selection.Find.Execute
, и я могу найти пропущенные ранее абзацы.Опрос свойства Selection.Find.Style
выявляет значение Normal
, как и раньше, за исключением того, что теперь оно работает.
В VBA, похоже, нет никакого способа отменить требование Style? Кто-нибудь знает, как это сделать?
Я попытался установить для Style
значение:
- Ничего
- ""
- "(без стиля)"
- 9999999
Ничего из этого не сработало.Я также попытался установить Find.Format = False
, но это тоже не сработало.Я думаю, что странно, что свойство Find.Style
в VBA по-прежнему показывает Normal
, но если я установлю его на Normal
, поиск не сможет найти абзац.
Открыт для любых предложений на данный момент.