// 详细使用查询VBA手册
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
btn1: TButton;
btn2: TButton;
procedure btn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
excel: Variant;
implementation
uses ComObj;
{$R *.dfm}
procedure TForm2.btn1Click(Sender: TObject);
begin
excel.Workbooks.add();
excel.visible := true;
excel.ActiveSheet.Protect();
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
excel := CreateOleObject('Excel.Application');
end;
procedure TForm2.FormDestroy(Sender: TObject);
begin
Excel := null;
end;
end.
----------------------------------
保护工作表使其不至被修改。
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。
说明
如果对工作表应用 Protect 方法时,将 UserInterfaceOnly 参数设置为 True,然后又保存了工作簿,那么再次打开工作簿时,整张工作表将被完全保护,而并非仅仅保护用户界面。若要在再次打开工作簿后重新启用用户界面保护,必须再次将 UserInterfaceOnly 参数设置为 True 并应用 Protect 方法。
若要在受保护的工作表上做更改,如果提供密码,则可在受保护的工作表上使用 Protect 方法。同样,取消工作表保护的另一种方法是:对工作表做一些必要的更改,然后再次保护工作表。
注意 “取消保护”的意思是可以锁定单元格(“单元格格式”对话框),但是单元格要包含在“允许用户编辑区域”对话框中定义的单元格区域内,并且用户通过密码或经 NT 权限验证,已取消对单元格区域的保护。