Word能够给文档加密,以保护我们的文档不被别人随意查看和修改。但是需要对每个文件单独设密码,比较麻烦。而且有时候我们并不是要对所有的文档进行加密,只是为了阻止别人在自己的机器上使用Word。那么能否有办法使Word为自己所专用呢?答案是肯定的。其实利用WORD内嵌的VBA工具就可以实现这一功能(图1)。一、功能的实现现在我们就来看看这一功能是如何实现的。首先打开VB编辑器,在工程资源管理器中的Normal下插入窗体。将窗体名命为denglu。这里要注意一定是在Normal下进行操作,只有这样程序才能在应用于所有文档。如图2所示,在窗体中加入两个lable控件、两个文本框控件和一个命令按钮。将文本框控件分别命名为yhm和mm,命令按钮命名为qr。窗体设计完成了,现在进行代码的输入。首先选中工程资源管理器中Normal下的microsoft对象中的ThisDocument,在其代码窗口中输入下列代码: Private Sub Document_New()Application.EnableCancelKey = wdCancelDisableddenglu.ShowEnd Sub Private Sub Document_Open()Application.EnableCancelKey = wdCancelDisableddenglu.ShowEnd Sub这两段代码代表两个过程,新建文档和打开文档。当新建或打开命令执行时,会先执行这段代码,以显示登录窗口。Application.EnableCancelKey = wdCancelDisabled是用来防止使用ctrl+break组合键强行中断程序。然后在denglu窗体的代码窗口中输入下列代码:Private Sub qr_Click()If yhm.Value = "yonghu" And mm.Value = "123456" Then Application.EnableCancelKey = wdCancelInterrupt Unload denglu Else Application.EnableCancelKey = wdCancelInterrupt Application.Quit Unload denglu End IfEnd Sub 判断输入的用户名和密码与预设内容是否相符,引号内的内容可以是预设的用户名和密码。如果相符则关闭窗体,显示Word窗口,如不相符则退出Word程序。Application.EnableCancelKey = wdCancelInterrupt一句是恢复ctrl+break组合键中断程序运行的功能。接下来在选中Normal下的模块中的NewMacros,新建一个命为Autoexec的宏,在其中输入到与Sub Document_New过程相同的代码。这样基本功能就实现了。现在启动WORD时,新建文档和打开文档时都会自动弹出登录窗口,要求输入用户名和密码。二、补漏措施虽然功能已经实现了,但仍不完善。还有一些漏洞使非法用户可以避开登录窗口进入Word,因此还需要采取一些措施弥补漏洞。1、 关闭窗口。我们虽然在程序开始屏蔽了Crtl+break来防止中断程序,但只要单击窗口右上角的关闭按钮或按下Alt+F4仍然可以直接关闭登录窗,进入Word。所以我们需在窗口关闭后设法让非法用户无法进入word。要做到这一点仍然需要一段代码。在denglu窗体的代码窗口中选择UserForm_Terminate()过程,即窗体中止,输入下面的代码:Private Sub UserForm_Terminate() If yhm.Value <> "yonghu" And mm.Value <> "123456" Then Application.Quit Else End IfEnd Sub 这样一来,即使直接关闭窗口也需要输入正确的用户名和密码才能进入word,否则会直接退出word程序。2、 禁止宏运行为了防止宏病毒的传播,通常我们都会把宏的安全级别设得很高,以确保来源不明的宏不被运行。但这样也会导致我们编写的宏无法运行。因此就需要使用数字签名来保证我们的程序可以在高安全级别下运行。我们可以用office自带的 Selfcert.exe 工具自己创建数字签名。然后在VB编辑器中的工程资源管理器中选择Normal工程。再单击“工具”菜单中的“数字签名”命令,在弹出的窗口(图3)中单击“选择”,选择证书,然后单击“确定”。 如此我们的宏便可以在任何状态下运行了。3、 shift键shift键是一个很著名的多功能键,其中一个很重要的功能便是在WORD运行前按住shift键可以防止任何宏的运行。因为它是在word启动前执行的,所以无法通过VBA来屏蔽它。对于这个问题确实让我费了不少心思,最后只能采用第三方软件来屏蔽它了。我用的是Key Transformation,把shift键的功能重新定义为打开文件夹,同时定义F11来代替shift键。因为我还需要使用shift键的其它功能,而F11我又不常用到,所以用F11来代替。这种自定义键盘功能的软件很多,可以自由选择。4、 工程加密由于用户名和密码是用明文写在程序中的,所以必须防止别人直接查看源程序,这就需要对工程进行加密,禁止查看。具体做法为:在VB编辑器中的工程资源管理器窗口中,选中Normal,单击右键,选择Normal属性,在弹出的窗口中单击“保护”标签(图4)。选中“查看时锁定工程”,并密码框中输入两遍密码,单击确定。 至此工作全部完成,一个你专用的word便打造成功了。不知道用户名和密码的人便无法再使用你的word了。不信就赶快去试试吧。 (此程序在office2003+windows xp下通过)
打开需要加密的文件。点击工具,从工具里头找选项。打开选项,找安全性。再点击安全性,出来一个对话框,设置打开文件时候的密码,这样关闭以后,别人没有密码就打不开这个文件了。试试吧。
只要可以看就可以复制。word自带加密没有这么强。其他软件也没有这么强的。只要能看就复制。
怎么给word文档加密?这个视频告诉你!办公软件实用技巧。
这个问题比较复杂,等待微软工程师来解决的