Excel中斷的問題 |
缺席
|
mnsf
初階會員 ![]() ![]() 發表:104 回覆:90 積分:48 註冊:2003-11-25 發送簡訊給我 |
經常會將資料庫中的資料轉出至Excel,因為資料量很大,完全轉好可能需要花費一段時間,
但使用者在等待轉出的時間中可能會去開啟另一個已存在的Excel, 這時就會出現Error訊息(OLE error 800A03EC.),請問有方法可以避免嗎? 也就是說可以在Excel尚未轉出來的同時,去開啟另一個Excel嗎? 以下是一個簡單的轉Excel範例 uses comobj; var FMsExcel,FWorkBook1,FWorkSheet1,FWorkSheet2: variant; i:integer; begin FMsExcel := CreateOleObject('excel.application'); FWorkBook1:= FMsExcel.WorkBooks.Add; FWorksheet1:= FWorkBook1.WorkSheets[1]; for i:=1 to 20 do FWorksheet1.cells[i,1]:=inttostr(i); FMSExcel.Application.visible := True; end; |
u86210779
一般會員 ![]() ![]() 發表:16 回覆:41 積分:16 註冊:2004-06-08 發送簡訊給我 |
|
u8821003
一般會員 ![]() ![]() 發表:12 回覆:9 積分:9 註冊:2005-04-02 發送簡訊給我 |
大大,我也遇到相同的問題耶! 你說用showmodel 方式開啟的視窗, 可是這樣還是可以去開啟另外一個已經存在的excel檔案耶~~ 是我不懂你的意思嗎?你可以講清楚一點嗎? ===================引 用 u86210779 文 章=================== 使用者在等待轉出的時間中可能會去開啟另一個已存在的Excel造成錯誤的解決方式 使用者按按鍵執行後, 出現一個以 showmodel 方式開啟的視窗, 顯示工作進度用. 這樣使用者就沒有機會在開啟其他視窗, 也就沒有機會造成錯誤. |
u86210779
一般會員 ![]() ![]() 發表:16 回覆:41 積分:16 註冊:2004-06-08 發送簡訊給我 |
試試下列做法
fmHand:=TfmHand.Create(Self); with fmHand do begin Caption := '寫入檔案中, 請稍後'; Gauge2.MaxValue := 100; Gauge2.MinValue := 1; Gauge2.Progress := 1; ShowModel; <-- 不是用 show for i := 1 to 100 do begin Gauge2.Progress := i; //寫入 Excel . . . end; free; nil; end; ===================引 用 文 章=================== 大大,我也遇到相同的問題耶! 你說用showmodel 方式開啟的視窗, 可是這樣還是可以去開啟另外一個已經存在的excel檔案耶~~ 是我不懂你的意思嗎?你可以講清楚一點嗎? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |