Макрос MS Word для исправления ближайшей орфографической ошибки


Я пытаюсь создать довольно простой макрос в Word 2010 с помощью Visual Basic. Все, что ему нужно сделать, это нажать Alt+F7, чтобы выбрать ближайшую орфографическую ошибку, затем нажмите Enter, чтобы выбрать первое предложение орфографии, а затем нажмите Shift+F5, чтобы вернуться к предыдущей точке редактирования. Я попробовал это:

SendKeys "%{F7}"
SendKeys "~"
SendKeys "+{F5}"

Но контекстное меню, которое появляется после %{F7}, немедленно исчезает, поэтому он не получает клавишу Enter. Вместо этого выделенный текст заменяется разрывом строки. Есть предложения? Я выполняйте эту последовательность нажатий клавиш много раз при наборе текста, поэтому было бы здорово, если бы я мог автоматизировать ее.

2 2

2 ответа:

Ну, я нашел немного обходного пути, который работает:

SendKeys "{F7}{TAB}{TAB}{TAB}{TAB}{TAB}~{ESCAPE}+{F5}+{F5}"

Но диалог, который появляется и перебирает кнопки, медленнее и неуклюже, чем мне бы хотелось. Любые лучшие идеи будут высоко оценены.

Немного поздно tho:

With Selection
  .MoveStartUntil Chr(9) + Chr(32), -100
  .MoveEndUntil Chr(9) + Chr(32), 100
  .Text = .Range.GetSpellingSuggestions.Item(1)
End With