如何把EXCEL设为只读(100)

  • 主题发起人 主题发起人 hnzpeng
  • 开始时间 开始时间
H

hnzpeng

Unregistered / Unconfirmed
GUEST, unregistred user!
数据导入Excel后,如何把EXCEL设为只读 不能对数据进行修改
 
这个与excel没有关系,需要用到filectrl单元,var attr: integer; filename: string; begin filename := 'files'; attr:= FileGetAttr(filename); attr := attr or faReadOnly; end;附文件属性常量 Constant Value Description faReadOnly $00000001 Read-only files 只读文件 faHidden $00000002 Hidden files 隐藏文件 faSysFile $00000004 System files 系统文件 faVolumeID $00000008 Volume ID files 卷标文件 faDirectory $00000010 Directory files 目录 faArchive $00000020 Archive files 归档文件 faAnyFile $0000003F Any file 任意文件
 
进我笔记里看看。有好多关于这方面的资料。
 
就是 de410 的建议,把文件属性设为只读。
 
如下面代码,数据导入Excel后,点击任一单元格,都不能修改,就是工作表被保护procedure TForm1.Button1Click(Sender: TObject);var i, j: integer; range,e_Print : variant; excel_Book,excel_sheet: OleVariant ;begin try try e_Print := createoleobject('excel.application'); e_Print.visible := true; e_Print.caption:='数据打印'; e_Print.application.workbooks.add; e_Print.application.visible:=true; e_Print.WorkSheets[1].Activate; excel_Book:=e_Print.application.workbooks[1]; excel_sheet:=excel_Book.worksheets.item[1]; except Showmessage('Excel 没有安装!'); end; excel_Sheet.cells[1, 1].Rows.RowHeight := 20; //设置行高 //第一行单元格为这个统计的标题 excel_Sheet.cells[1, 1] := '标题'; excel_Sheet.cells[1, 1].Characters.Font.Name := '宋体'; //字体 excel_Sheet.cells[1, 1].Characters.Font.FontStyle := '加粗'; excel_Sheet.cells[1, 1].Characters.Font.Size := 15; finally // wrap up e_Print.ActiveWorkBook.Saved := True; //放弃存盘: end; // try/finally
 
也就是 在程序中设置Excel工作表保护
 
也就是页面用密码保护搜一下以前的帖子,觉得下面一段代码应该没错,VExcel.worksheets['sheet1'].protect(password,true,true,true);使用时却有以下的错误提示Method 'worksheets' not supported by automation object.
 
没试de410的方法,自己的解决办法是:ActiveSheet.Protect('3333',true,true,true)成功
 
多人接受答案了。
 
通过Delphi代码对Excel工作表进行保护ExcelApp.ActiveWorkbook.Protectstructure:=True;ExcelApp.ActiveSheet.Protect(Password:='',DrawingObjects:=True,Contents:=True,Scenarios:=False,AllowFiltering:=True,AllowInsertingColumns:=False,AllowInsertingRows:=False,AllowInsertingHyperlinks:=False,AllowDeletingColumns:=False,AllowDeletingRows:=False,AllowSorting:=False,AllowFiltering:=False,AllowUsingPivotTables:=False);
 
后退
顶部