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

excel開啟後要怎麼把它關閉呢?

尚未結案
qq33252000
一般會員


發表:12
回覆:21
積分:6
註冊:2010-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-03-15 13:26:35 IP:220.132.xxx.xxx 訂閱
  TRY
EXCEL := CreateOLEObject('EXCEL.APPLICATION');
EXCEL.WORKBOOKS.OPEN(TRIM(WFILE.Text));
EXCEPT
RAISE EXCEPTION.Create('無法啟動EXCEL');
EXIT;
END;
s:= StrToInt(VarToStr(EXCEL.WORKBOOKS[1].WORKSHEETS[1].EVALUATE('=COUNTIF($A:$A,"<>")')));
y:= StrToInt(VarToStr(EXCEL.WORKBOOKS[1].WORKSHEETS[1].EVALUATE('=COUNTIF($1:$1,"<>")')));

//....(if not query1xxxx..IsEmpty then //del;)


EXCEL.QUIT;
EXCEL := UNASSIGNED;

程式碼如上
我把excel開啟以後...
程式執行到"EXCEL.QUIT; "照理說會把它關閉
怎麼我到工作管理員下的處裡程序那邊去看,發現excel並未關閉..
我該如何讓excel關閉..
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-03-15 13:53:12 IP:59.120.xxx.xxx 未訂閱
有一種可能是當你在Delphi執行(Run)程式的時候發生了錯誤
一般的狀況下
我們會將程式停止(關掉, Program Reset)
這時候工作管理員的Excel是還在的
因為是不正常停止

您可以試試~
先檢查工作管理員中無Excel
然後再來執行您的程式
假如您的程式是完全沒有問題的
那麼在EXCEL.QUIT之後
照理說工作管理員中也不會有Excel的

嗯...小小意見,供參考~

===================引 用 qq33252000 文 章===================
TRY
EXCEL := CreateOLEObject('EXCEL.APPLICATION');
EXCEL.WORKBOOKS.OPEN(TRIM(WFILE.Text));
EXCEPT
RAISE EXCEPTION.Create('無法啟動EXCEL');
EXIT;
END;
s:= StrToInt(VarToStr(EXCEL.WORKBOOKS[1].WORKSHEETS[1].EVALUATE('=COUNTIF($A:$A,"<>")')));
y:= StrToInt(VarToStr(EXCEL.WORKBOOKS[1].WORKSHEETS[1].EVALUATE('=COUNTIF($1:$1,"<>")')));

//....(if not query1xxxx..IsEmpty then//del;)


EXCEL.QUIT;
EXCEL := UNASSIGNED;

程式碼如上
我把excel開啟以後...
程式執行到"EXCEL.QUIT;"照理說會把它關閉
怎麼我到工作管理員下的處裡程序那邊去看,發現excel並未關閉..
我該如何讓excel關閉..
qq33252000
一般會員


發表:12
回覆:21
積分:6
註冊:2010-07-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-03-15 16:33:51 IP:211.23.xxx.xxx 訂閱
在DALPHI執行(RUN)的時候,程式為跳出錯誤訊框
請問有沒有可能程式出錯~!但卻沒有跳出錯誤訊框的可能下
工作管理員的EXCEL還是在呢??

倘若有這樣的情況下~我從哪下手去找出錯誤點呢??
(因為現在就是沒有錯誤訊框,程式都正常執行,可是就是不會關起來~!挺奇怪的...才會上網發問)

===================引 用 老大仔 文 章===================
有一種可能是當你在Delphi執行(Run)程式的時候發生了錯誤
一般的狀況下
我們會將程式停止(關掉, Program Reset)
這時候工作管理員的Excel是還在的
因為是不正常停止

您可以試試~
先檢查工作管理員中無Excel
然後再來執行您的程式
假如您的程式是完全沒有問題的
那麼在EXCEL.QUIT之後
照理說工作管理員中也不會有Excel的

嗯...小小意見,供參考~

===================引 用 qq33252000 文 章===================
TRY
EXCEL := CreateOLEObject('EXCEL.APPLICATION');
EXCEL.WORKBOOKS.OPEN(TRIM(WFILE.Text));
EXCEPT
RAISE EXCEPTION.Create('無法啟動EXCEL');
EXIT;
END;
s:= StrToInt(VarToStr(EXCEL.WORKBOOKS[1].WORKSHEETS[1].EVALUATE('=COUNTIF($A:$A,"<>")')));
y:= StrToInt(VarToStr(EXCEL.WORKBOOKS[1].WORKSHEETS[1].EVALUATE('=COUNTIF($1:$1,"<>")')));

//....(if not query1xxxx..IsEmpty then//del;)


EXCEL.QUIT;
EXCEL := UNASSIGNED;

程式碼如上
我把excel開啟以後...
程式執行到"EXCEL.QUIT;"照理說會把它關閉
怎麼我到工作管理員下的處裡程序那邊去看,發現excel並未關閉..
我該如何讓excel關閉..
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-03-15 17:42:40 IP:59.120.xxx.xxx 未訂閱
建議您把比較完整的CODE放上來
讓大家幫您看看哪裡有問題
要不然這樣很難知道問題到底在哪裡@@

===================引 用 qq33252000 文 章===================
在DALPHI執行(RUN)的時候,程式為跳出錯誤訊框
請問有沒有可能程式出錯~!但卻沒有跳出錯誤訊框的可能下
工作管理員的EXCEL還是在呢??

倘若有這樣的情況下~我從哪下手去找出錯誤點呢??
(因為現在就是沒有錯誤訊框,程式都正常執行,可是就是不會關起來~!挺奇怪的...才會上網發問)

===================引 用 老大仔 文 章===================
有一種可能是當你在Delphi執行(Run)程式的時候發生了錯誤
一般的狀況下
我們會將程式停止(關掉, Program Reset)
這時候工作管理員的Excel是還在的
因為是不正常停止

您可以試試~
先檢查工作管理員中無Excel
然後再來執行您的程式
假如您的程式是完全沒有問題的
那麼在EXCEL.QUIT之後
照理說工作管理員中也不會有Excel的

嗯...小小意見,供參考~


waterlin
一般會員


發表:9
回覆:3
積分:2
註冊:2004-08-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2011-04-14 17:49:32 IP:222.180.xxx.xxx 未訂閱
你的問題我遇過:答案很簡單

一般程式 先開啟 你的 excel 檔案 , 如果程式只關了 你的 excel 檔案 , 沒有關 excel . 就會發生你說的情況.

( delphi & 有一篇範例涵蓋面非常完整 . ( 起碼少了我50%時間 try )
waterlin
一般會員


發表:9
回覆:3
積分:2
註冊:2004-08-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2011-04-15 00:19:24 IP:113.250.xxx.xxx 未訂閱
http://www.winu.cn/space-14160-do-blog-id-11777.html 參考這個網址 , 對你 Excel 操作有幫助.

PS : 以前 此網站 也有 , 一時找不到 , 多包涵 .

PS : EXCEL := CreateOLEObject('EXCEL.APPLICATION'); // 我的記憶 : 這行的對應 close 指令 沒執行 .
編輯記錄
waterlin 重新編輯於 2011-04-14 10:21:18, 註解 無‧
waterlin 重新編輯於 2011-04-14 10:24:23, 註解 無‧
keikojason
初階會員


發表:37
回覆:63
積分:45
註冊:2004-05-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2011-05-05 14:15:02 IP:61.222.xxx.xxx 訂閱
這是一種範例,你可以試試看!!!

[code delphi]
請在此區域輸入程式碼
uses Excel2000
try
Book, MsExcel, new_Sheet : Variant;
EXCEL := CreateOleObject('Excel.Application');
EXCEL .Visible := True;
EXCEL .Caption := 'Excel_Test';
EXCEL .WorkBooks.add;
EXCEL .WorkBooks[1].worksheets[1].name:='NewSheet';
new_Sheet := MsExcel.WorkBooks[1].worksheets[1];
new_Sheet.range['A1'] := 'Begin';
new_Sheet.range['A2'] := 'End';
new_Sheet.Cells.EntireColumn.AutoFit;
except
Book.Close[False];
EXCEL.Application.Quit;
MessageDlg('Can''t Open Excel!!', mtInformation, [mbok], 0);
end; //end except
[/code]

編輯記錄
keikojason 重新編輯於 2011-05-05 00:16:19, 註解 無‧
keikojason 重新編輯於 2011-05-05 00:18:01, 註解 無‧
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2011-06-28 19:23:56 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

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