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

開啟Excel的問題

尚未結案
aresustar
一般會員


發表:9
回覆:8
積分:3
註冊:2008-10-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-01-03 09:27:50 IP:202.39.xxx.xxx 訂閱
請問一下
若Excel未開啟則開啟Excel
若Excel已開啟則在已開啟的Excel新增一頁Sheet
該怎麼做呢?
procedure TForm1.Button1Click(Sender: TObject);
var
MsExcel,MsExcelSheet,a:Variant;
begin
MsExcel := CreateOleObject('Excel.Application');
MsExcel.WorkBooks.Add;
MsExcel.WorkSheets.Add;
MsExcel.Visible := True;
end;
我這樣寫的話每次都會開新的Excel檔
麻煩各位高手指點一下,感恩
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-01-03 16:45:03 IP:183.55.xxx.xxx 未訂閱
var
MsExcel:Variant;
begin
try
msexcel:= GetActiveoleObject('Excel.Application');
except
msexcel:= CreateOleObject('Excel.Application');
MsExcel.WorkBooks.Add;
end;
MsExcel.WorkSheets.Add;
MsExcel.Visible := True;
end;
===================引 用 aresustar 文 章===================
請問一下
若Excel未開啟則開啟Excel
若Excel已開啟則在已開啟的Excel新增一頁Sheet
該怎麼做呢?
procedure TForm1.Button1Click(Sender: TObject);
var
MsExcel,MsExcelSheet,a:Variant;
begin
MsExcel := CreateOleObject('Excel.Application');
MsExcel.WorkBooks.Add;
MsExcel.WorkSheets.Add;
MsExcel.Visible := True;
end;
我這樣寫的話每次都會開新的Excel檔
麻煩各位高手指點一下,感恩
P.D.
版主


發表:571
回覆:3887
積分:3677
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-01-08 11:23:39 IP:118.169.xxx.xxx 未訂閱
試試這樣做法
function FindProcWnd(ProcName: string): boolean;
var OK: Bool;
hPL: THandle;
ProcessStruct: TProcessEntry32;
begin
Result:= False;
hPL:= CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
ProcessStruct.dwSize:= SizeOf(TProcessEntry32);
OK:= Process32First(hPL, ProcessStruct);
while OK do begin
if UpperCase(ProcessStruct.szExeFile) = UpperCase(ProcName) then
begin
Result:= True;
end;
OK:= Process32Next(hPL, ProcessStruct);
end;
CloseHandle(hPL);
end;

創建上述function, 底下紅字是新用法

===================引 用 aresustar 文 章===================
請問一下
若Excel未開啟則開啟Excel
若Excel已開啟則在已開啟的Excel新增一頁Sheet
該怎麼做呢?
procedure TForm1.Button1Click(Sender: TObject);
var
MsExcel,MsExcelSheet,a:Variant;
begin
if not FindProcWnd('EXCEL.EXE') then MsExcel := CreateOleObject('Excel.Application');
MsExcel.WorkBooks.Add;
MsExcel.WorkSheets.Add;
MsExcel.Visible := True;
end;
我這樣寫的話每次都會開新的Excel檔
麻煩各位高手指點一下,感恩
系統時間:2017-12-12 16:23:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!