超时就“自毁” Word文档也玩定时保护

2021-07-08 06:27俞木发
电脑爱好者 2021年13期
关键词:窗格字体代码

俞木发

1.了解文档定时隐藏的原理

在Word中我们可以对选择的文本设置字体隐藏效果,这样在文档窗口中就不会显示指定的内容,并且可以通过“审阅”组件对文档进行保护,这样又可以阻止阅读的用户手动取消隐藏效果。这些操作均可以通过VBA脚本自动完成,并且在VBA中可以通过“If Now()”语句对执行操作的时间进行设定。因此,我们通过“VBA脚本进行时间判断→添加隐藏字体代码→添加文档保护密码”的一系列步骤,就可以实现文档定时“销毁”且用户无法取消隐藏的效果。具体流程如图所示(图2)。

2.预览隐藏和文化保护效果

从图2的流程介绍可以看到关键操作是添加字体隐藏效果和添加保护,为了方便大家对这两个操作有更直观的理解,我们可以先在Word中手动进行操作预览。

在Word中打开需要处理的文档,选中需要隐藏的内容,按下“Ctrl+D”快捷键调出字体设置窗口,按提示勾选“效果”选项下的“隐藏”,这样选择的文本内容就会自动消失了(图3)。这就相当于将文档字体的显示属性设置为“隐藏”,在文档中就不会显示隐藏的文本了。

继续依次点击“审阅→保护→限制编辑”菜单选项,接着在右侧打开的限制编辑窗格中操作:在“1.格式化限制”下勾选“限制对选定的样式设置格式”;在“2.编辑限制”下勾选“仅允许在文档中进行此类型的编辑:”,在下面的下拉列表中选择“填写窗体”;然后点击下方的“是,启动强制保护”,最后按提示设置保护密码(图4)。这样不输入密码,用户就无法打开图3所示窗口取消“隐藏”的勾选。

3.添加定時执行VBA

上述手动操作的目的是为了向大家展示最终隐藏的效果。为了可以实现定期销毁文档,我们需要利用VBA,按照图2的提示,添加对应的代码操作即可(代码可到“https:fishare.weiyun.com/TfHt6xx8”下载)。

返回Word文档窗口,手动取消文档保护和隐藏效果,然后按下“Alt+F11”快捷键打开VBA编辑窗口,在左侧的窗格中依次展开“Proiect(当前文档名称)→Microsoft Word对象→ThisDocument”,双击“ThisDocument”并在右侧打开的代码窗格中粘贴上述的代码(图5)。

主要代码解释:

If Now()>=DateSerial("2021","04","01"):表示使用IF语句将当前日期和2021.04.01进行比较,如大于这个时间则执行下面的操作。在实际使用中请自行更改日期。

MsgBox“产品报价已过期”:表示如果当前日期大于2021.04.01,则弹出提示框显示“”产品报价已过期”。

Selection Font Hidden=True:将选择内容字体的效果设置为隐藏,即自动执行图3所示的操作(不同的是代码默认全选文档的内容)。

Protect wdAllowOnlyFormFields,True,"123":表示将文档的编辑权限设置为“wdAllowOnlyFormFields”,即自动执行图4所示的操作,同时将保护密码设置为“123”。

完成代码的粘贴后,在左侧的窗格内选中“ThisDocument”并右击,然后选择“Project属性”,在打开的工程属性窗口中切换到“保护”选项卡,按提示设置密码。这个密码用来防止用户查看VBA代码,从而知道隐藏的原理和查看解锁编辑的密码(图6)。

完成上述的设置后,将文档保存为“启用宏的Word文档(*.docm)”,然后就可以发给各个业务部门了。当使用者每次打开这个文档后,后台的VBA脚本都会自动将打开文档时的日期和2021.04.01进行比较,如果日期小于该日期,文档查看是正常的;如果日期大于该日期(比如2021.04.02打开文档),那么打开该文档后会弹出“产品报价已过期”的提示框(图7)。

用户点击消息框中的“确定”按钮后,后台脚本便会自动将文档内容的字体全部设置为“隐藏”,用户完全看不到文档的内容,同时也无法对文档进行任何编辑(当然也无法执行图3窗口所示的取消“隐藏”效果前的勾选)(图8)。

猜你喜欢
窗格字体代码
字体的产生
古典艺术审美——闽南古厝特色窗格
Windows 10三大隐含窗格应用
创世代码
创世代码
创世代码
创世代码
组合字体
显示或隐藏“大纲”或“幻灯片”选项卡
字体安装步步通