用 OLE 輸出excel 並設置密碼 |
尚未結案
|
jackiu
一般會員 發表:15 回覆:16 積分:6 註冊:2003-03-05 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
jackiu您好:
您可以先參考下面討論的文章:
http://delphi.ktop.com.tw/topic.php?topic_id=147
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29495
http://www.djpate.freeserve.co.uk/Automation.htm
http://delphi.ktop.com.tw/forum.asp?FORUM_ID=943 不知道能不能幫上忙~~ 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~>
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
Hi, 可以使用 Protect 的功能, 語法如下:
procedure TForm1.Button1Click(Sender: TObject); var I : Integer; J : Integer; FExcel : variant; FWorkBook : variant; FWorkSheet : variant; begin try FExcel := CreateOLEObject( 'Excel.Application' ); FWorkBook := FExcel.WorkBooks.Add; FWorkSheet := FWorkBook.WorkSheets[1]; except raise Exception.Create('無法啟動excel'); exit; end; FWorkSheet.application.visible := True; FWorkSheet.cells[1,1] := '123'; FWorkSheet.Protect(DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:='1234'); //密碼為 1234 end; |
jackiu
一般會員 發表:15 回覆:16 積分:6 註冊:2003-03-05 發送簡訊給我 |
我是這樣把Excel加上password, 但是開啟該檔時, 沒有要求輸入密碼, 為何呢?
請各位大大幫忙!!
try
ExcelApp := CreateOleObject( 'Excel.Application' );
WorkBook := CreateOleobject('Excel.Sheet');
except
ShowMessage('Error');
Exit;
end; try
workBook := ExcelApp.workBooks.Add;
ExcelApp.Cells(1 , 1) := 'chapter1';
ExcelApp.Protect(DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:='1234'); WorkBook.saveas('chapter.xls');
WorkBook.close;
except
ShowMessage('error'); WorkBook.close;
end;
ExcelApp.Quit;
ExcelApp:=Unassigned;
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
修改一下, 因為是對檔案的保護, 所以要加在 saveas 裡...
try ExcelApp := CreateOleObject( 'Excel.Application' ); WorkBook := CreateOleobject('Excel.Sheet'); except ShowMessage('Error'); Exit; end; try workBook := ExcelApp.workBooks.Add; ExcelApp.Cells(1 , 1) := 'chapter1'; |
jackiu
一般會員 發表:15 回覆:16 積分:6 註冊:2003-03-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |