全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2344
推到 Plurk!
推到 Facebook!

如何關閉自己程式產生的Excel Workbook, 不要關掉全部已開啟的 WorkBook?

 
yu168
一般會員


發表:29
回覆:27
積分:16
註冊:2002-06-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-20 20:40:57 IP:220.130.xxx.xxx 未訂閱

小弟初次發問請多指教!! 是這樣的小弟有一些資料會匯出到Excel, 而我有使用到TExcelApplication, TExcelWorkbook...這程式執行完結束時, 如果先前有開啟一些其它的Excel Workbook 則會連同其它的也一併關掉. 這情況在沒有任何Workbook開啟的情形下一切正常, 可是如果先前有開啟一些其它的Excel Workbook 則會就有一些困擾了...如果其它的Workbook 因修改未存檔, 則這程式就不會結束, 而會停在那裡等你按要不要存檔, 有沒有辦法只要關閉自己產生的Workbook 而不要理會其它的Workbook???? 程式碼如下:(還不會斷行請見諒!!)

procedure TFrmGetDailyChk.ExportToExcel(const TemplateFile : TFilename; const ExportFile : TFilename; ExportLocation : TStringGrid; VE: TValueListEditor);
var
i : Integer;
PosX, PosY : Integer;
Str : String;
begin

if CreateExcelInstance then
begin
try
XlApp.Workbooks.Add(TemplateFile, LCID);
XlBook.ConnectTo(XlApp.Workbooks[1]);
XlSheet.ConnectTo(XlBook.Worksheets[1] as _WorkSheet);
showmessage(inttostr(xlapp.Workbooks.Count));

for i := 1 to ExportLocation.RowCount - 1 do
begin
PosX := StrToInt(GrdExportPosition.Cells[0,i]);
PosY := StrToInt(GrdExportPosition.Cells[1,i]);
Str := Ve.Cells[1,i];

XlSheet.Cells.Item[PosX, PosY] := Str;

XlSheet.Cells.Item[PosX, PosY] := Str;
end;
XlApp.ActiveWorkbook.SaveAs(ExportFile,
xlWorkbookNormal,
EmptyParam,
EmptyParam,
False,
False,
xlNoChange,
xlLocalSessionChanges,
False,
False,
False,
False,
LCID);
LogAdd(DateTimeToStr(now) ' : Export to ' ExportFile ' success!');
except
LogAdd(DateTimeToStr(now) ' : Fail to export to ' ExportFile);
end;
end
else
LogAdd(DateTimeToStr(now) ' : Fail to open Excel');

XlBook.Close;
end;

系統時間:2024-04-25 9:38:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!