如何在程序中打开有密码的excel?(工作表保护)

leyon328 2003-08-21 09:36:28
如何在程序中打开有密码的excel?(工作表保护)
...全文
168 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiejun_Chenfang 2003-08-25
  • 打赏
  • 举报
回复
excel中的 文件打开和修改密码 和 保护密码 是两码事

如果只是工作表和工作簿保护的话,你不需要提供保护密码就可以打开啊,只是不能够修改工作表的内容(工作表保护),或者不能够添加删除工作表(工作簿保护),如果你要做上述修改的话,只能像ccrun(老妖)说的调用 ActiveSheet的Unprotect方法,因为不解除保护的话,你就是直接打开excel也不能修改。

至于excel中的文件打开和修改密码 同上述的保护密码是不同的概念,没有他你是不能打开文件的,你可以再open方法中提供上述密码

ExcelApplication1->Workbooks->Open
lvjack 2003-08-21
  • 打赏
  • 举报
回复
应该去MSDN看看
hongliqiu 2003-08-21
  • 打赏
  • 举报
回复
如果用ODBC的话,应该和打开其他的数据库类似吧。
yydy 2003-08-21
  • 打赏
  • 举报
回复
没试过
帮你up
leyon328 2003-08-21
  • 打赏
  • 举报
回复
难道没有办法吗?
我相信又,但在MSDN上找不到。
有谁知道?
ccrun.com 2003-08-21
  • 打赏
  • 举报
回复
#define PG OlePropertyGet
#define PS OlePropertySet
#define FN OleFunction
#define PR OleProcedure

Variant ExcelApp,Workbook1,Sheet1;
ExcelApp=Variant::CreateObject("Excel.Application");
ExcelApp.PG("WorkBooks").PR("Open",strXlsFileName.c_str());
Workbook1=ExcelApp.PG("ActiveWorkBook");
Workbook1.PG("Sheets",1).PR("Select");
Sheet1=Workbook1.PG("ActiveSheet");
Sheet1.PR("Unprotect","1234"); ///假设工作表的密码是1234
....

不过有个缺点,这样操作以后工作表就不受保护了。如果还要保护工作表,得用Protect方法。具体可在Excel中录制一个宏,再查看源代码。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧