我希望限制word文档中的编辑,以便用户只能填写表单。我已相应地设置了限制编辑选项。但是,根据表单上某些组合框中选择的选项,可以在页面上添加其他控件的VBA代码。当我打开限制时,在某个选择上运行的VBA将不会运行并抛出“命令不可用”错误。有没有办法将除内容控件,切换框和组合框之外的所有内容限制为文档的人类用户,并允许VBA代码自由运行,无限制地操作文档格式?谢谢你的帮助!
答案 0 :(得分:1)
您的宏需要暂时删除保护,以便进行处理,然后恢复保护。例如:
Dim lProt As Long: Const Pwd As String = "Password"
With ActiveDocument
If .ProtectionType <> wdNoProtection Then
lProt = .ProtectionType
.Unprotect Password:=Pwd
End If
'insert your code for content control additions here
If lProt <> wdNoProtection Then .Protect Type:=lProt, NoReset:=True, Password:=Pwd
End With