zoukankan      html  css  js  c++  java
  • Delphi对Excel保护操作

    http://www.docin.com/p-378093577.html
    在金融系统的应用系统中经常需要与Excel交换数据或利用Excel制作报表,但在某些情况下,我们的业务系统要求生成的临时或最终的Excel表不被别人打开,而工作表的部分或者全部单元格也不允许被别人修改,这时我们要用到Excel文档的加密和工作表保护功能。 请看下面实例如何在Delphi中加密和保护Excel表。
    有关加密和保护Excel表主要用到下面四个方法:
    1.以加密方式保存Excel文档的方法
    ExcelApp.ActiveWorkbook.SavaAs(Filename:='c: est.xls',Password:='test1',WriteResPassword:='test2');
    Filename 表示要保存的文件名,可包含完整路径。如果不指定路径,Microsoft Excel 将把文件保存到当前文件夹中。
    Password 指定文件的保护密码,区分大小写(最长不超过15字符)。
    WriteResPassword 表示文件的写保护密码。如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读模式打开。
    2.打开加密的Excel文档的方法
    ExcelApp.Workbooks.Open(Filename :='c: est.xls',Password:='test1',WriteResPassword:='test2');
    Filename表示要打开的工作簿文件名
    Password表示要打开的Excel文件的密码,区分大小写。如果省略该参数并且该Excel已设置密码,则提示用户输入密码。诺不输入密码,则该文件不能打开。
    WriteResPassword表示要打开的Excel文件的写入权限密码。如果省略该参数并且该Excel文件已设置密码,则提示用户输入密码,则该文件以只读模式打开。
    3.设定受保护或可修改的单元格的方法
    ExcelApp.Range['B4','B6'].Locked:=True;
    ExcelApp.Range['B4','B6'].FormulaHidden:=True;
    这两个属性表示Excel表的单元格是否可修改、是否隐藏公式,当然,要起作用必须还要设定保护工作表。
    4.设定保护工作表
    ExcelApp.ActiveSheet.Protect(Password:='Test', DrawingObjects:=True,Contents:=True,Scenarios:=True);
    Password表示加在工作表或工作簿上区分大小写的密码字符串。如果省略本参数,不用密码就可以取消对改工作表或工作簿的保护,否则,取消对改工作表或工作簿的保护时必须提供该密码。
    DrawingObjects指定是否保护形状
    Contents指定是否保护的内容
    Scenarios指定是否保护方案。
    实际上开发工具操作Excel表主要用到微软的Office系列软件提供的VBA。对Excel的操作方法、参数项,都可以用Excel中录制宏的功能获得,其中参数的取值可在逐步运行宏的功能获得,其中参数的取值可在逐步运行宏语句时调试获得。我们利用VBA的帮助和录制的功能可获得更多的Delphi操作Excel的方法,只是写到Delphi中稍微有些不同。
    以下为在Delphi中加密和保护Excel表的主要源代码,这已在Delphi7中调试通过。其中源代码和注释语句是对Delphi与Excel交换数据或控制Delphi的方法做了一个小小的总结。注意要在use语句中使用Comobj。

    示例源代码:
    // 测试 锁定
    //eWB.Cells.Select;
    //eWB.Selection.Locked := True;
    eWB.ActiveSheet.Protect('yjs',True,True,True

    Tools.pas 修改代码:
    eWB.ActiveSheet.Protect('123',True,True,True);
    eWB.SaveAs(FileName);
    //eWB.SaveAs(FileName,Password:='123',WriteResPassword:='1234');

  • 相关阅读:
    求数组元素出现的次数
    数组的一些内置方法
    二维数组
    创建对象
    取出数组最大值与最小值
    4-jQuery
    3-jQuery
    2-jQuery
    1-jQuery
    Spark共享变量(广播变量、累加器)
  • 原文地址:https://www.cnblogs.com/ziliudi/p/9651521.html
Copyright © 2011-2022 走看看