excel sayfası açık mı?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

excel sayfası açık mı?

Mesaj gönderen y.kulac »

s.a.
excel sayfasına bilgi aktarıyorum. aşağıdaki kod ile sabit bir excel belgesini açıyorum. kodum şöyle

Kod: Tümünü seç

excel:= CreateOleObject('Excel.Application');   //Exceli aç
excel.visible:=True;  //Exceli aktif yap
excel.Workbooks.Open('C:\PROKURS\Formlar\Belge.xls');  //isimli exceli aç
sayfa:=excel.workbooks[1].worksheets[1];
ben excel belgesini açmadan önce kontrol yapmak istiyorum.
eğer sayfa açıksa bilgileri aktarsın. açık değilse açıp aktarsın. açık değilse zaten yukarıdaki kod ile açıp işlemi yaptırıyorum. kodu her çalıştırdığımda yeniden excel uygulaması başlatıyor. bu şekilde onlarca excel uygulaması ayrı ayrı çalışmış oluyor. ben bir tane excel uygulaması açılsın istiyorum.
neler öenerirsiniz.
iyi çalışmalar.
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

Kod: Tümünü seç

uses
Tlhelp32;

Kod: Tümünü seç

Function KillTask(Dosyadi: String): Integer;
const
PROCESS_TERMINATE=$0001;
var
devam: BOOL;
fyakhandle: THandle;
islem32: TProcessEntry32;
begin
result := 0;

fyakhandle := CreateToolhelp32Snapshot
                     (TH32CS_SNAPPROCESS, 0);
islem32.dwSize := Sizeof(islem32);
devam := Process32First(fyakhandle,
                                 islem32);

  while integer(devam) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(islem32.szExeFile)) =
         UpperCase(Dosyadi))
     or (UpperCase(islem32.szExeFile) =
         UpperCase(Dosyadi))) then
      Result := Integer(TerminateProcess(OpenProcess(
                        PROCESS_TERMINATE, BOOL(0),
                        islem32.th32ProcessID), 0));
    devam := Process32Next(fyakhandle,  islem32);
  end;
  CloseHandle(fyakhandle);
end;
Kullanılışı

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
KillTask('EXCEL.EXE');
end;
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
Cevapla