Тема: Вставка-замена
Есть код в Worde:
(*259374*) HV_259374:= R_TRIG_86.Q OR F_TRIG_17.Q;
(*259397*) TON_11(NOT HV_259374, TIME01);
Нужен макрос, чтобы выполнял следующее преобразование:
(*259397*) TON_11(NOT R_TRIG_86.Q OR F_TRIG_17.Q, TIME01); т.е. искал в тексте слово, начинающееся с HV_259374 и вставлял вместо него вторую половину.
Я создал макрос через проигрыватель, который выполняет эту операцию, но только для конкретного слова HV_259374. Если в тексте идет другой HV_ХХХХХХ, то этот макрос уже не работает. Как сделать макрос, который будет выполнять замену текста для любого слова?
Вот что получилось у меня, прошу помочь:
Sub Макрос5()
'
' Макрос5 Макрос
'
'
Selection.MoveRight Unit:=wdWord, Count:=3
Selection.MoveRight Unit:=wdWord, Count:=3, Extend:=wdExtend
Selection.Copy
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "HV_259374"
.Replacement.Text = "R_TRIG_86.Q OR F_TRIG_17.Q"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.MoveRight Unit:=wdWord, Count:=1
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Copy
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "HV_259379"
.Replacement.Text = "INT0(IN_STZ_DINT1_2)"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub