Я написал макрос для Excel, который проверяет орфографию разблокированных полей в защищенной электронной таблице, копируя их, проверяя орфографию и копируя обратно.
Я пытаюсь сделать то же самое для Word.
У меня есть защищенный документ Word, в котором обычно есть таблицы с вопросами слева, которые защищены / заблокированы, и пустые поля справа для ввода текста. Я хотел бы пройтись по ним и проверить правописание в редактируемых полях.
Вот что у меня есть для Word.
Здесь сказано, что все поля "разблокированы", что не кажется правильным:
Sub TEST()
Dim oApp As Object 'Word.Application
Dim oDoc As Object 'Word.Document
Dim oFormField As Object 'FormField
Set oApp = GetObject(, "Word.Application")
Set oDoc = oApp.ActiveDocument
Set theFields = ActiveDocument.Fields
For Each theFields In ActiveDocument.Fields
'Loop through each form field
If theFields.Locked = wdUndefined Then
MsgBox "Some fields are locked"
ElseIf theFields.Locked = False Then
MsgBox "No fields are locked"
ElseIf theFields.Locked = True Then
MsgBox "All fields are locked"
End If
Next
End Sub
Это напечатало кучу вещей, которые не имели смысла:
Sub TEST()
Dim oApp As Object 'Word.Application
Dim oDoc As Object 'Word.Document
Dim oFormField As Object 'FormField
Set oApp = GetObject(, "Word.Application")
Set oDoc = oApp.ActiveDocument
For Each oFormField In oDoc.FormFields 'Loop through each form field
Debug.Print oFormField.Name
Next
End Sub
Например, это было частью моего debug.print:
Text5
Text5
Text5
Check37
Check37
Check37
Check37
Check37