Добрый день! Подскажите пожалуйста, как с помощью VBA переместить курсор после определенного слова. Пробовал делать так, но ничего не выходит:
ActiveDocument.Content.MoveEndUntil Cset:="Слово", Count:=wdForward
Замечания по вашему коду.
Замечание 1
Здесь:
ActiveDocument.Content.MoveEndUntil Cset:="Слово", Count:=wdForward
Cset - это один или несколько символов, которые не имеют между собой никакой связи.
Метод "MoveEndUntil" делает так, используя параметр "Cset". Метод "MoveEndUntil" берёт символ, который находится справа от конца и смотрит, есть ли этот символ в параметре "Cset". То есть смотрит не всё слово в параметре "Cset", а каждый символ отдельно. Если справа есть буква "С", то остановка. Если справа есть символ "л", то остановка и т.д. до последней буквы "о".
Замечание 2
ActiveDocument.Content - это весь текст файла. Вы хотите двигать конец файла вперёд (Count:=wdForward), но двигать некуда: уже упёрлись в конец.
Вот так можно поставить курсор после заданного слова:
Sub макрос()
With ActiveDocument.Range.find
.Text = "Слово"
If .Execute = True Then
.Parent.Collapse Direction:=wdCollapseEnd
.Parent.Select
End If
End With
End Sub
Спасибо большое! Все работает!