微软Word中的锁定也是大家平时常用的功能之一。点击“审阅”选项卡—“保护文档”——勾选“限制格式和编辑”,弹出如下窗体(这里以Word 2007为例,其他版本Word的操作界面会有所不同):
勾选“限制对选定的样式设置格式”可以指定在文档中的可以使用的哪些格式。此功能一般很少用到,这里不做介绍。而勾选“仅允许在文档中进行此类编辑”,就可以开启对文档的锁定。勾选后,需要选择允许的编辑类型,包括“修订”、“批注”、“填写窗体”和“只读”。对于前三种类型,选择后对文档只能分别进行修订、批注和对窗体域部分进行编辑。
修订和批注就不讲了,大家平时也用的不少。而窗体域可能用的就比较少,所谓窗体域就是Word提供的一种可嵌入在文本里的控件,再里面可以实现文本内容的自动生成、选择框、下拉框等特殊功能。在Word中插入文本域的方法是“开发工具”选项卡—“控件”——“旧式工具”——“旧式窗体”,在里面就可以选择想要插入的窗体域,如下图。
正是因为窗体域很少被用到,所以很多场合下我们使用仅允许“填写窗体”的编辑限制模式到达文档锁定不可修改的目的。
虽然使用上述模式文档可以锁定,但这种模式下光标永远在文档的开头,没办法像普通状态下可以移动到任意位置,也就造成无法选中文档中的任何内容,带来阅读和使用上的不便。因此从Word 2007开始,增加了“只读”的编辑控制方式,这种方式下文档内容同样不能更改,但光标可以任意移动,文档内容也就可以所以选择了。虽然“只读”控制方式用起来很香,但Word XP及以下版本不支持,用这些版本的Word打开“只读”方式锁定的文档时,你会发现文档变成了只允许编辑批注的锁定方式了。
选择好锁定方式后,选择“启动强制保护”,弹出如下对话框设置锁定的保护密码(其实应该翻译成口令)。注意,密码最长为15位。
这样如果以后想解除文档的锁定时,就需要先输入保护密码。
上述文档锁定及解锁过程完全可以使用程序实现(PS:Office里的所有操作功能都可以通过程序实现)。
锁定调用Word.Document对象的Protect方法,原型如下:
Document.Protect(TypeAs WdProtectionType, [NoReset], [Password], [UseIRM], [EnforceStyleLock])
其参数说明如下:
Type:指定的文档的保护类型,取值说明如下:
类型 | 值 | 说明 |
wdNoProtection | -1 | 不对文档应用保护。 |
wdAllowOnlyRevisions | 0 | 只允许对现有内容进行修订。 |
wdAllowOnlyComments | 1 | 只允许将批注添加到文档中。 |
wdAllowOnlyFormFields | 2 | 只允许通过窗体域将内容添加到文档中。 |
wdAllowOnlyReading | 3 | 允许对文档进行只读访问。 |
NoReset:如果为 false,则将窗体字段重置为默认值。如果为 true,则在文档处于保护状态时,保留当前窗体字段值。只有在Type 参数是 wdAllowOnlyFormFields, NoReset 参数有效。缺省值是False。
Password:从文档中移除保护时所需的密码,长度不能超过15位,否则报错。缺省值是空字符串。
UseIRM:指定在防止文档被更改时是否使用信息权限管理 (IRM) ,缺省值是False。
EnforceStyleLock:指定是否在受保护文档中强制格式设置限制,缺省值是False。
上面参数中最常用的就是Type和Password.
解除锁定调用Word.Document对象的Unprotect方法:
Document.Unprotect([Password])
此方法只有一个Password参数,即解锁时需输入的保护密码。
下面是例子:
doc.Protect(3,,"123456") //使用只读方式锁定,密码是“123456”
doc.Unprotect("123456")//解锁
Word文档的锁定功能很容易使用,很多人喜欢用它对文档进行保护。但要注意的是,这种保护其实是很脆弱的,解锁文档的方法很多:比如新建一个空白文档,点击“插入”选项卡——“文本”——“对象”——“文件中的文字”,选择锁定的文档,文档上显示解锁后的内容。也可以用不支持锁定功能又可以打开Word文档的软件,比如早期版本的WPS,OpenOffice等,打开锁定的Word文档就会自动解锁。所以,不要太迷信Word的锁定功能。
联系客服