您的位置:来学习素材网 > 办公软件 > excel教程

猜你喜欢

2024-01-12 14:57
Excel VBA解读(75):保护工作表——Protect方法
[文章导读]在Excel中,我们可以保护工作表,避免用户对工作表进行不必要的修改。

要想保护工作表,可以单击“审阅”选项卡中的“保护工作表”按钮,如下图所示。

在“保护工作表”对话框中输入密码(当然也可以为空,即不设置密码),进行相应的选取设置后,即对工作表设置了保护。此时,用户不能随意在工作表中编辑单元格。

Excel宏录制器为上述操作录制的代码为:

Sub Macro1()

'

' Macro1 Macro

' 由完美Excel录制

'

ActiveSheet.ProtectDrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub

可以看出,Excel VBA使用Protect方法保护工作表,虽然在操作中我们为保护工作表设置了密码,但Excel并没有为我们录制设置的密码项。然而,我们可以方便地使用Protect方法通过代码为保护工作表设置密码。

Protect方法

工作表对象的Protect方法用于保护工作表,使之不能够被修改。Protect方法有很多参数,多达16个,但均为可选参数,我们可以根据需要有选择地使用这些参数以达到目的,例如,虽然对工作表进行了保护,但仍允许用户对限定的区域进行修改。

示例1:使用Protect方法保护工作表

下面的代码保护当前工作表,并设置密码为“test”。

Sub ProtectActivesheet()

If NotActiveSheet.ProtectContents Then

ActiveSheet.ProtectPassword:="test", _

DrawingObjects:=True, _

Contents:=True, _

Scenarios:=True

End If

End Sub

说明

  • 参数Password用来设置密码,区分大小写。如果忽略该参数,那么在取消工作表保护时不需要密码。

  • 参数DrawingObject、Contents、Scenarios分别设置是否保护工作表中的形状、内容和方案。它们的默认值都是True。

  • ProtectContents属性返回一个Boolean值,表明工作表是否已保护。上述代码运行时,如果工作表已受保护,则不执行任何操作。

Unprotect方法

要想通过代码修改受保护的工作表,必须先取消工作表保护,才能进行修改。Unprotect方法用于取消工作表保护。

示例2:使用Unprotect方法取消工作表保护

下面的代码取消对设置了密码“test”的当前工作表的保护。

Sub UnprotectActivesheet()

IfActiveSheet.ProtectContents Then

ActiveSheet.UnprotectPassword:="test"

End If

End Sub

说明

  • Unprotect方法只有一个可选参数Password,用来提供保护工作表时所设置的密码。

  • 如果保护工作表时没有设置密码,可以忽略参数Password。

  • 如果提供的密码不正确,那么Excel会弹出一个错误提示框,如下图所示。

示例3:设置与取消工作表保护的通用代码

下面是Steven M. Hansen编写的一段代码,用于设置与取消工作表保护:

说明

  • 这段代码可以沿用到自已的代码中,用于需要在代码运行过程中设置工作表保护,或者需要修改受保护工作表中的内容而临时取消工作表保护的情形。

  • 代码中使用了错误处理语句,以及带参数的函数过程。在后续的文章中会详细讲解这些技术。

Excel VBA

声明:本站拒绝任何弹窗、插件以及广告联盟的广告,本QQ号(254031582)只解决会员问题,素材失效问题,软件使用问题一律不回。

为广大设计朋友提供平面设计素材和教材、PSD素材、C4D模型、3DMAX模型、AE模板、矢量模板等下载

苏ICP备2023039977号-2

Copyright © 2010-2020laixuexi.cc. All Rights Reserved .