excel保护共享工作簿爆发'ActiveWorkbook'not supported by automation object错误!你说我该怎么办?有请伴水!

yundanfengqing 2002-09-08 05:48:54
代码如下:
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
H:String;
Excel_app,Excel_workbook :Variant;
begin
Excel_app:= CreateOLEObject('Excel.Application');
Excel_workbook := Excel_app.WorkBooks.Add;
Excel_workbook.WorkSheets[1].Activate;
for i:= 1 to 10 do begin
H:='A'+IntTostr(i);
Excel_workbook.activesheet.Range[H].value := i+2 ;
End;
//下面这句保护工作簿的可以使用,但是保护共享工作簿就不可以
Excel_workbook.ActiveSheet.Protect(password:='a', DrawingObjects:=True, Contents:=True, Scenarios:=True);
Excel_workbook.SaveAs('E:\MyExercise\ExcelFile\test.xls');
//下面这句保护共享工作簿出错
Excel_workbook.ActiveWorkbook.ProtectSharing('E:\MyExercise\ExcelFile\test.xls');
Excel_app.Visible := True;

{ if not VarISEmpty(Excel_app) then
begin
Excel_app.ActiveWorkBook.Saved:=True;
Excel_app.WorkBooks.Close;
Excel_app.Quit;
end;
Excel_app := null; }
end;

我调试了很久,Excel_workbook.ActiveWorkbook.ProtectSharing('E:\MyExercise\ExcelFile\test.xls');这句怎么都使用不了。快帮帮忙吧。
...全文
344 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yundanfengqing 2002-09-09
  • 打赏
  • 举报
回复
伴水的本质论或者说方法论使人受益匪浅,这岂是分数可以换来的?!钦佩!
王集鹄 2002-09-09
  • 打赏
  • 举报
回复
//搜索"<关键词>"//分析它所在的COM控件
$(Delphi)\Ocx\Servers\Excel2000.pas

举如上例子来说
Step.1 用Delphi打开$(Delphi)\Ocx\Servers\Excel2000.pas单元
Step.2 搜索"ActiveWorkbook"
Step.3 分析//可以看出"ActiveWorkbook"不是WordBook控件的元素//而是ExcelApplication控件的元素

另外,建议你到网上去搜索"Delphi Excel ActiveWorkbook",这样你就可以找到用例
yundanfengqing 2002-09-09
  • 打赏
  • 举报
回复
天哪!真受不了!!谢谢伴水!!!
王集鹄 2002-09-09
  • 打赏
  • 举报
回复
Excel_workbook.ActiveWorkbook.ProtectSharing();
//---------------->>>>>>>>>>>>>>>>>>>>>>>
Excel_app.ActiveWorkbook.ProtectSharing();
manboo 2002-09-08
  • 打赏
  • 举报
回复
无效的ADO不能实现共享的,无论怎么设置都要锁定的。没办法等ms升级jet吧

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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