Проверка на полевой диапазон - Word VBA - PullRequest
0 голосов
/ 25 января 2020

У меня есть защищенный документ, который я могу запустить следующей строкой, но не могу на самом деле запустить «проверку орфографии» над текстом и думаю, что это из-за моего объявления диапазона, может кто-нибудь указать, что не так?

Например: это возвращает TRUE/FALSE правильно If CheckSpelling(theFields.Result.Text) = False Then, но я не могу тогда запустить theFields.CheckSpelling

Что я пробовал:

Sub SpellCheckDoc()

Dim lockedFields As Long
Dim unlockedFields As New Collection
For Each theFields In ActiveDocument.Fields
    If theFields.Locked = False Then
        unlockedFields.Add theFields
    End If
Next theFields

'Word
Dim objWord As Object
Set objWord = GetObject(, "Word.Application")

For Each theFields In unlockedFields
    If CheckSpelling(theFields.Result.Text) = False Then
      objWord.theFields.CheckSpelling
      ActiveDocument.Range(theFields).CheckSpelling
End If
Next theFields

End Sub

1 Ответ

0 голосов
/ 25 января 2020

Вам не нужны

Dim objWord as Object
Set objWord = GetObject(, "Word.Application")

, поскольку вы пишете это в Word.

Вы хотите установить Options.SuggestSpellingCorrections = True, а затем нажать на каждый диапазон с помощью theFields.Result.CheckSpelling .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...