Моя цель - написать макрос VBA для Word 2003, где пользователь выбирает часть таблицы (особенно столбец), а макрокоманды вводят символы ввода в определенные выходные символы, например. любой из a e i o u Старт V; некоторые последовательности, такие как eh uw be V; один символ (восклицательный знак) удаляется; все, что не превращается в «V», превращается в «C». Моя проблема в том, что после первой замены выбор становится «неустановленным», поэтому изменения влияют на что-то иное, чем исходный выбор.Сохранение таблицы в Word 2003 VBA macro
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = True
.Replacement.Text = "V"
.Text = "[aeiouáéíóú]"
.Execute Replace:=wdReplaceAll
'replace certain sequences
.Text = "[mn" & ChrW(618) & ChrW(650) & "]" & ChrW(769)
.Execute Replace:=wdReplaceAll
.Text = "[mn]" & ChrW(768)
.Execute Replace:=wdReplaceAll
'delete !
.Text = "[\!]"
.Replacement.Text = ""
.Execute Replace:=wdReplaceAll
'everything else becomes C
.Text = "[!V]"
.Replacement.Text = "C"
.Execute Replace:=wdReplaceAll
End With
Как вы можете найти/заменить только для работы с выбранными ячейками? Я заметил, что после первой замены Selection.End изменяется на то же значение, что и Selection.Start. Я не понимаю, как работает выбор столбцов в Word.