You could use Range instead of Selection.
Dim MyDoc As Document
Dim Rng As Range
Dim FF As FormField
Set MyDoc = ActiveDocument
'Unprotect the file
If MyDoc.ProtectionType <> wdNoProtection Then
bProtected = True
MyDoc.Unprotect Password:="colleen"
End if
For Each FF In aDoc.FormFields
Set Rng = FF.Range
With Rng
.CheckSpelling , True
End With
Next
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="colleen"
End If
'--------------
You could specifiy the formfields.
Set Rng = MyDoc.Formfields(1).Range 'Formfield Number 1
With Rng
.CheckSpelling , True
End With
You could rename your Formfield names on the ones you cant to check.
Then iterate the FFs, checking only the ones that match.
Bookmark(1).name = SCY_BM1 'Spell Check Yes Bookmark #1
Bookmark(3).name = SCY_BM3 'Spell Check Yes Bookmark #1
Bookmark(9).name = SCY_BM9 'Spell Check Yes Bookmark #1
Then
For Each FF In aDoc.FormFields
If left(FF.Name), 3) = "SCY" then
Set Rng = FF.Range
With Rng
.CheckSpelling , True
End With
Next
Roxy - 28 Mar 2008 23:34 GMT
> You could use Range instead of Selection.
>
[quoted text clipped - 52 lines]
> Next
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ok I tried this and I get an Compile Error that reads:
Sub or function not defined. And it highlights on the Bookmark().name =
SCY_BM1 line. Also the
If left (FF.Name , 3) = "SCY"
then
is red, what am I doing wrong? Below is the code as it reads currently.
Thanks for all your help I have been struggling with this for days now.
Sub SpellCheck()
Dim MyDoc As Document
Dim Rng As Range
Dim FF As FormField
Set MyDoc = ActiveDocument
'Unprotect the file
If MyDoc.ProtectionType <> wdNoProtection Then
bProtected = True
MyDoc.Unprotect Password:="colleen"
End If
For Each FF In aDoc.FormFields
Set Rng = FF.Range
With Rng
.CheckSpelling , True
End With
Next
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="colleen"
End If
'--------------
'You could specifiy the formfields.
Set Rng = MyDoc.FormFields(1).Range 'Formfield Number 1
With Rng
.CheckSpelling , True
End With
Bookmark(Matter).Name = SCY_BM1 'Spell Check Yes Bookmark #1
Bookmark(Respondent).Name = SCY_BM3 'Spell Check Yes Bookmark #1
Bookmark(Summary).Name = SCY_BM9 'Spell Check Yes Bookmark #1
For Each FF In aDoc.FormFields
If left(FF.Name), 3) = "SCY"
then
Set Rng = FF.Range
With Rng
.CheckSpelling , True
End With
Next