Excel VBA之第六十一课
大家好,这节课我们学习工作表的Protect方法,Protect方法用于保护工作表,语法格式为:表达式.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables),其中表达式表示Worksheet 对象的变量。
各个参数解析如下:
1、Password:可选,数据类型为Variant,一个字符串,该字符串为工作表或工作簿指定区分大小写的密码。如果省略此参数,不用密码就可以取消对工作表或工作簿的保护。否则,必须指定密码才能取消对工作表或工作簿的保护。如果忘记了密码,就无法取消对工作表或工作簿的保护。 请使用组合大小写字母、数字和符号的强密码。弱密码不会混合这些元素。强密码:Y6dh!et5。弱密码:House27。密码的长度应为 8 个或更多字符。使用 14 个或更多字符的通行短语更好。有关详细信息,请参阅Help protect your personal information with strong passwords。请务必记住您的密码。如果您忘记了密码,Microsoft 无法找回它。请将您编写的密码保存在安全的位置并远离它们要帮助保护的信息。
2、DrawingObjects:可选,数据类型为Variant,如果为 True,则保护形状。默认值是 True。
3、Contents:可选,数据类型为Variant,如果为 True,则保护内容。对于图表,这样会保护整个图表。对于工作表,这样会保护锁定的单元格。默认值是 True。
4、Scenarios:可选,数据类型为Variant,如果为 True,则保护方案。此参数仅对工作表有效。默认值是 True。
5、UserInterfaceOnly:可选,数据类型为Variant,如果为 True,则保护用户界面,但不保护宏。如果省略此参数,则既保护宏也保护用户界面。
6、AllowFormattingCells:可选,数据类型为Variant,如果为 True,则允许用户为受保护的工作表上的任意单元格设置格式。默认值是 False。
7、AllowFormattingColumns:可选,数据类型为Variant,如果为 True,则允许用户为受保护的工作表上的任意列设置格式。默认值是 False。
8、AllowFormattingRows:可选,数据类型为Variant,如果为 True,则允许用户为受保护的工作表上的任意行设置格式。默认值是 False。
9、AllowInsertingColumns:可选,数据类型为Variant,如果为 True,则允许用户在受保护的工作表上插入列。默认值是 False。
10、AllowInsertingRows:可选,数据类型为Variant,如果为 True,则允许用户在受保护的工作表上插入行。默认值是 False。
11、AllowInsertingHyperlinks:可选,数据类型为Variant,如果为 True,则允许用户在受保护的工作表中插入超链接。默认值是 False。
12、AllowDeletingColumns:可选,数据类型为Variant,如果为 True,则允许用户在受保护的工作表上删除列,要删除的列中的每个单元格都被解除锁定。默认值是 False。
13、AllowDeletingRows:可选,数据类型为Variant,如果为 True,则允许用户在受保护的工作表上删除行,要删除的行中的每个单元格都被解除锁定。默认值是 False。
14、AllowSorting:可选,数据类型为Variant,如果为 True,则允许用户在受保护的工作表上进行排序。排序区域中的每个单元格必须是解除锁定的或取消保护的。默认值是 False。
15、AllowFiltering:可选,数据类型为Variant,如果为 True,则允许用户在受保护的工作表上设置筛选。用户可以更改筛选条件,但是不能启用或禁用自动筛选功能。用户也可以在已有的自动筛选功能上设置筛选。默认值是 False。
16、AllowUsingPivotTables:可选,数据类型为Variant,如果为 True,则允许用户在受保护的工作表上使用数据透视表。默认值是 False。
如你所见,作表的Protect方法的参数很多,在实际运用时需先明确自己的目的,不是所有参数都必须用上!下面的例子给出了保护工作表时常用的方法和技巧:
请仔细体会~