受保护时如何访问Word形式的形状?

How to access shapes in Word form when protected?

我有一个受保护的 Word 表单。当我尝试访问形状时出现错误。

ActiveDocument.Shapes("Rectangle 4").Visible = False

如果您在文档中创建了一个不受保护的部分(它可以小到一个段落标记),然后将形状锚点拖到该部分,您将能够通过 VBA 访问它.

但是取消保护和重新保护的代码非常简单:

Sub HideShape()
    With ActiveDocument
        If .ProtectionType = wdAllowOnlyFormFields Then
            .Unprotect
        End If
        .Shapes("Rectangle 4").Visible = False
        .Protect Type:=wdAllowOnlyFormFields, NoReset:=True
    End With
End Sub