Excel工作簿的保护是指不允许对Excel工作簿进行增删改操作,比如不能在工作簿中新增工作表,或者是不能在工作簿中删除工作表,更改工作表的名称等操作。在编写VBA程序时,使用Workbook对象的Protect方法能方便地为工作簿提供保护,如果要取消对工作簿的保护,可以调用Unprotect方法。本文介绍使用Protect方法和Unprotect方法实现Excel工作簿的保护的具体使用方法。
1、启动Excel并打开Visual Basic编辑器,在工程资源管理器中插入一个模块,在该模块的“代码”窗口中输入VBA代码,如图1所示。该程序代码用于为工作簿添加保护,具体代码如下所示:
Sub ProtectWorkbook()
ActiveWorkbook.Protect Password:="123",Structure:=True '添加保护
End Sub
图1 在“代码”窗口中添加程序代码
提示
Protect方法保护3个参数,它们分别是Password、Structure和Windows。其中,Password参数用于指定保护密码;Structure参数设置为True时,将保护工作簿结构,此时无法对工作簿中的工作表进行插入、删除和复制等操作;Windows参数设置为True时,将保护工作簿窗口,此时无法对窗口进行最小化、最大化和关闭操作。
2、如果需要解除对工作簿添加的密码保护,可以在“代码”窗口中添加代码,如图2所示。具体程序代码如下所示:
Sub UnprotectWorkbook()
ActiveWorkbook.Unprotect"123" '取消密码保护
End Sub
图2 添加用于解除工作簿保护的程序代码
3、运行ProtectWorkbook过程,将无法对工作簿中的工作表进行增删等操作,同时工作簿窗口左上角的最大化、最小化等按钮消失,该工作簿无法关闭,如图3所示。运行UnprotectWorkbook过程可取消对工作簿的保护,工作簿能正常操作。
图3 工作簿被保护