Тема: замена в найденном
Здравствуйте, не подскажете, как в этом макросе сделать, так чтобы строка
.Parent.Text = Replace(.Parent.Text, p, z)
поддерживала подстановочные знаки (типа такие[А-яЁё]@[А-яЁё]{4})
Макрос находит слова с ошибкой, делает замену, и проверяет, пропала ли ошибка в слове после замены, если не пропала, делает откат.
Function er1(t As String, p As String, z As String)
EngineNotStarted:
With ActiveDocument.range.find
.Text = t
.MatchWildcards = True
While .Execute
While .Parent.SpellingErrors.Count > 0
.Parent.Text = Replace(.Parent.Text, p, z)
While .Parent.SpellingErrors.Count > 0
ActiveDocument.Undo
.Parent.Text = .Parent.Text + "1"
GoTo EngineNotStarted:
Wend
GoTo EngineNotStarted:
Wend
Wend
End With
Selection.find.ClearFormatting
Selection.find.Replacement.ClearFormatting
With Selection.find
.Text = "1"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.find.Execute Replace:=wdReplaceAll
End Function