利用Excel自身的protect方法来实现文档的保护,但可以允许自动筛选功能
//保护Excel文档,自动筛选功能可用
function xlsprotect()
{
//第一个参数为工作表保护密码,第十五个参数为启用自动筛选功能
TANGER_OCX_OBJ.ActiveDocument.ActiveSheet.Protect("123456",true,true,false,false,false,false,false,false,false,false,false,false,false,true,true);
}
VBA帮助说明:
expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
expression 必需。该表达式返回一个 Worksheet 对象。
Password Variant 类型,可选。为一个字符串,该字符串为工作表或工作簿指定区分大小写的密码。如果省略本参数,不用密码就可以取消对该工作表或工作簿的保护。否则,必须指定密码,通过密码来取消对该工作表或工作簿的保护。如果忘记了密码,就无法取消对该工作表或工作簿的保护。最好在安全的地方保存一份密码及其对应文档名的列表。
DrawingObjects Variant 类型,可选。如果为 True,则保护图形。默认值为 False。
Contents Variant 类型,可选。如果为 True,则保护内容。对于图表,这样将保护整个图表。对于工作表,这样将保护锁定的单元格。默认值为 True。
Scenarios Variant 类型,可选。如果为 True,则保护方案。本参数仅对工作表有效。默认值为 True。
UserInterfaceOnly Variant 类型,可选。如果为 True,则保护用户界面,但不保护宏。如果省略本参数,则保护既应用于宏也应用于用户界面。
AllowFormattingCells Variant 类型,可选。如果为 True,则允许用户为受保护的工作表上的任意单元格设置格式。默认值为 False。
AllowFormattingColumns Variant 类型,可选。如果为 True,则允许用户为受保护的工作表上的任意列设置格式。默认值为 False。
AllowFormattingRows Variant 类型,可选。如果为 True,则允许用户为受保护的工作表上的任意行设置格式。默认值为 False。
AllowInsertingColumns Variant 类型,可选。如果为 True,则允许用户在受保护的工作表上插入列。默认值为 False。
AllowInsertingRows Variant 类型,可选。如果为 True,则允许用户在受保护的工作表上插入行。默认值为 False。
AllowInsertingHyperlinks Variant 类型,可选。如果为 True,则允许用户在受保护的工作表中插入超链接。默认值为 False。
AllowDeletingColumns Variant 类型,可选。如果为 True,则允许用户在受保护的工作表上删除列,要删除的列中的每个单元格都是解除锁定的。默认值为 False。
AllowDeletingRows Variant 类型,可选。如果为 True,则允许用户在受保护的工作表上删除行,要删除的行中的每个单元格都是解除锁定的。默认值为 False。
AllowSorting Variant 类型,可选。如果为 True,则允许用户在受保护的工作表上进行排序。排序区域中的每个单元格必须是解除锁定的或取消保护的。默认值为 False。
AllowFiltering Variant 类型,可选。如果为 True,则允许用户在受保护的工作表上设置筛选。用户可以更改筛选条件,但是不能启用或禁用自动筛选功能。用户也可以在已有的自动筛选功能上设置筛选。默认值为 False。
AllowUsingPivotTables Variant 类型,可选。如果为 True,则允许用户在受保护的工作表上使用数据透视表。默认值为 False。
|