In order for the macro to be able to do anything in a protected form, you are going to have to include code to unprotect (and reprotect) the form. In your example:
Code:
Public Sub Test1()
Dim bProtected As Boolean
'Unprotect the file
If ActiveDocument.ProtectionType <> wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
With ActiveDocument.Content.Find
.Text = "BOLD"
.MatchWildcards = True
.MatchCase = True
.Replacement.Font.Bold = True
.Execute Replace:=wdReplaceAll
End With
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, _
NoReset:=True, _
Password:=""
End If
End Sub
and note that your macro was called Test1 and not MyMacro ! Run Test1 on exit from the field. On Exit means when you leave the field, not when you select an item.