word VBA加密解密

使用VBA对WORD文档进行加解密,使用Protect方法和unprotect方法。

一、Protect 方法

保护指定文档,防止更改。如果一篇文档处于保护状态,则用户只能进行有限修改,如添加批注、进行修订,或者完成一个窗体。

注意   如果在使用本方法之前文档已经加以保护,则会导致出错。

expression.Protect(Type, NoReset, Password)

expression   必需。该表达式返回“应用于”列表中的一个对象。

Type   必需,特定文档的保护类型。WdProtectionType。

WdProtectionType 可以是下列 WdProtectionType 常量之一:
wdAllowOnlyComments
wdAllowOnlyFormFields
wdAllowOnlyRevisions
wdNoProtection

NoReset   Variant 类型,可选。如果本参数为 False,则将窗体域重新设置为默认值。如果本参数为 True,而指定文档又是处于保护状态,则保留窗体域原来的值。如果 Type 不是 wdAllowOnlyFormFields,则忽略 NoReset 参数。              

Password   Variant 类型,可选。特定的文档要求密码来“解除保护”。

示例
本示例保护活动文档的窗体,不重新设置窗体域中的内容。

If ActiveDocument.ProtectionType = wdNoProtection Then
    ActiveDocument.Protect _
        Type:=wdAllowOnlyFormFields, NoReset:=True
End If
本示例保护 Monthly Report.doc,以至只能向该文档添加备注。“free”是解除文档保护所用的口令。

Set myDoc = Documents("Monthly Report.doc")
myDoc.Protect Type:=wdAllowOnlyComments, Password:="free"

二、UnProtect 方法

清除对指定文档的保护。如果对文档没有加以保护,则此方法会导致出错。

expression.UnProtect(Password)

expression   必需。该表达式返回一个 Document 对象。

Password   Variant 类型,可选。用于保护文档的口令字符串。口令区分大小写。如果用户在使用一篇设置有口令的文档时没有提供正确的口令,就会显示一个对话框,提示用户输入口令。

示例
本示例解除对活动文档的保护,并以“Blue”为密码。如果文档有密码,则显示一个对话框提醒用户输入密码。

If ActiveDocument.ProtectionType <> wdNoProtection Then
    ActiveDocument.Unprotect Password:="Blue"
End If
本示例解除对活动文档的保护。然后插入文本并对文档进行修订保护。

Set aDoc = ActiveDocument
If aDoc.ProtectionType <> wdNoProtection Then
    aDoc.Unprotect
    Selection.InsertBefore "department six"
    aDoc.Protect Type:=wdAllowOnlyRevisions, Password:="Blue"
End If

你可能感兴趣的:(word VBA加密解密)