procedure TerminateOLE;
var
FSnapshotHandle:THandle;
FProcessEntry32:TProcessEntry32;
Ret : BOOL;
ProcessID : integer;
s:string;
begin
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
Ret:=Process32First(FSnapshotHandle,FProcessEntry32);
while Ret do
begin
s:=ExtractFileName(FProcessEntry32.szExeFile);
if s='EXCEL.EXE' then
begin
ProcessID:=FProcessEntry32.th32ProcessID;
TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,ProcessID),1);
s:='';
end;
Ret:=Process32Next(FSnapshotHandle,FProcessEntry32);
end;
end;//我的?代?
procedure TfmMain.BitBtn1Click(Sender: TObject);
var
WorkBook1, WorkBook2: OLEVariant;
begin
try
Excel := Unassigned;
Excel := CreateOleObject('Excel.Application'); //打?文件1
Excel.WorkBooks.Open(fe2000.Text);
WorkBook1 := Excel.ActiveWorkBook;
WorkBook1.Close; //打?文件2
Excel.WorkBooks.Open(fe2001.Text);
WorkBook2 := Excel.ActiveWorkBook;
WorkBook2.Close;
finally
if not VarISEmpty(Excel) then
Excel.Quit;
Excel := Unassigned;
TerminateOLE; //加到?里
end;end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货