У меня есть код VBA в слове, которое перебирает два массивов строк, находит текст документа из одного массива, и заменяет его на соответствующей строке в другом массиве, как так:Условный замена VBA в Слове
with application.activedocument.content.find
for i=1 to 100
.text=array1(i)
.replacement.text=array2(i)
.forward=true
.matchcase=true
.wrap=wdFindContinue
.matchwholeword=true
.matchwildcards=false
.matchallwordforms=false
.matchprefix=true
.matchsuffic=true
.matchsoundslike=false
.execute replace:=wdReplaceAll
next
end with
Это заменяет все случаи без разбора. Есть ли способ включить предложение if, которое делает это, чтобы оно не заменило слово, если оно является первым словом в строке? Я не уверен, что код vba для тестирования, если что-то является первым словом строки.
Любая помощь будет оценена по достоинству.
Существует не раздел Если в качестве таковых в рамках поиска и замены, но вы можете включать в себя специальные символы, такие как знак абзаца или ручной разрыв строки характера, которые иногда могут быть полезны. Если ваше слово появляется в середине абзаца, но, оказывается, в начале новой строки вы хотите его заменить? – Jane
Я хочу пропустить только в начале, поэтому, если первое слово появится посередине, то я хочу его заменить. – Carl
Слово может находиться в середине абзаца, но в начале строки. Например, мой первый комментарий содержит слово «the» несколько раз. Текст - это один абзац, но на моем экране слово «the» появляется в начале второй и третьей строк. Вы хотите сохранить существующее слово, если оно находится в начале строки, или только если оно находится в начале абзаца? – Jane