我在程序里给excel加的密码保护,能不能通过程序给打开的excel赋值,这样该excel文件关闭后还是有密码的,若将密码赋为空,则该excel文件在程序外打开时就没有保护作用了,我要做到的时只有通过我的程序才能打开我建的excel进行修改,其它地方打开后是只读的。
解决方案 »
- delphi 怎么在DBF表里面添加数据
- 关于服务程序的退出问题。
- 关于继承问题
- 时长12:34:56转成秒的函数?1234567.89转中文货币的函数?
- dbExpress问题??
- 在线等待:一个关于LOCATE在TABLE中的使用,想在表TABLE1中查找一条记录,要求TABLE1中的字段'供应商名称'的值为TABLE2中的字段'供应商名称'
- acc,bcc各是个Tedit控件,我想用一个变量字符串name1表示a和b,那带变量name1的话怎么表示出acc和abb呢,请看内容?
- 急!!!'alter table ##new_xstj add column :a float '; 是否支持参数??????
- 怎样动态的建立一个类型文件,文件的类型是程序运行时,由用户动态的输入而得到的。
- 请教各位大侠:我用TNMStrm控件发送数据时,怎样实现定时连续发送?我现在发送一次成功,紧接着第二次发送就不行了,出现蓝屏.
- socket初级连接,传递字符串问题
- C++向delphi转行新手提问
xls, xlw: Variant;
begin
{load MS Excel}
xls := CreateOLEObject('Excel.Application'); {open your xls-file}
xlw := xls.WorkBooks.Open(FileName := 'd:\book1.xls', Password := 'qq',
ReadOnly := True);
{save with other file name}
xlw.SaveAs(FileName := 'd:\book2.xls', Password := ''); {unload MS Excel}
xlw := UnAssigned;
xls := UnAssigned;
end;
SH.unProtect(Password);解密
do something....;
SH.Protect(Password);加密
xlw.Save or Saveas(FileName);
.....
而是保护工作表和取消保护
一旦你用程序付给了密码,即取消了密码保护,所以此时文件被关闭的话,下次再打开时就没有密码了
你只能对活动的excel进行解密和加密操作,可以程序打开时进行解密,然后修改后保存,然后再用程序进行加密。
但在加密前excel关闭了,就没有密码啦。
function Tfrm_EditExcel.FindActiveExcel: Boolean;
var
Excel1:variant;
begin
try
Excel1:=GetActiveOleObject('Excel.Application');
Excel:=Unassigned;
Excel1:=Unassigned;
Excel:=GetActiveOleObject('Excel.Application');
isConnected:=true;
except
Excel:=Unassigned;
isConnected:=False;
Result:=False;
Exit;
end; Result:=True;
end;