![]() |
excel.exe aus delphi raus schliessen
hi leute
ich hab mich schon der suche hier bemüht aber nix passendes gefunden daher stelle ich hier mal die frage : ich exportiere aus meiner anwendung heraus daten nach excel. jetzt würde ich gern prüfen wenn ich die anwendung starte, ob excel - vor allem die excel.exe noch offen ist ( im taskmanager zu sehen ) und wenn ja wie ich den task dann killen kann ?! im moment habe ich folgende funktion in benutzung :
Delphi-Quellcode:
und beim aufrufen des formulars folgendes :
function TFormGarantie.IsProgActive(sClassName: String): Boolean;
var ClassID: TCLSID; Unknown: IUnknown; begin try ClassID := ProgIDToClassID(sClassName); Result := GetActiveObject(ClassID, nil, Unknown) = S_OK; except Result := False; end;
Delphi-Quellcode:
procedure TFormGarantie.FormActivate(Sender: TObject);
var sClassName: String ; begin if IsProgActive('Excel.Application') then begin ShowMessage('Excel läuft - bitte schliessen !!'); end end; jemand ne ahnung wie ich das realisieren kann ? wäre nice mfg stoni |
Re: excel.exe aus delphi raus schliessen
Hi,
ich würde versuchen mit [dp]"FindWindow"[/dp] das Handle zu bekommen und dann mit Hilfe von [cl]"SendMessage"[/cl] und [cl]"WM_SYSCOMMAND"[/cl] das Programm beenden. Chris |
Re: excel.exe aus delphi raus schliessen
Sieh mal in dies
![]() Ich würde aber davon abraten Excel einfach zu beenden. Ist nicht gerade benutzerfreundlich. Warum machst du Excel nicht einfach nochmal auf? |
Re: excel.exe aus delphi raus schliessen
hmmm
ok ich kanns auch gern nochmal öffnen aber : wenn ich dan nden export starte brint er nen fehler, bzw vor allem dann wenn die datei schon geöffnet ist. kann ich das irgendwie umgehen ? also wenn die letzte exportierte datei geöffnet ist und ich dann nochmal eine excel datei durch export erstelle die denselben namen hat stürzt er ab. das wäre mir halt wichtig abzufangen. |
Re: excel.exe aus delphi raus schliessen
Da würde ich mit einem Try-Except arbeiten und im Fehlerfall den Anwender darauf hinweisen, dass der Export nicht möglich ist, weil ... .
Es wäre ja denkbar, dass der Anwender den vorherigen Export auch benötigt. Dann soll er ihn Speichern und Schließen. Dasmuss man natürlich freundlich formulieren. :wink: Alternativ kannst du auch zufällige Dateinamen erzeugen mit Datum und Uhrzeit. Dann ist das auch kein Problem mehr. Wenn der Anwender dann 30 mal exportiert, geht der Rechner eben in die Knie :mrgreen: |
Re: excel.exe aus delphi raus schliessen
hmmm
dann muss ich mal schauen wie ich das hinbiege mal so nebenher : wie generiere ich "zufällige" dateinamen ? weil den dateinamen geb ich fest vor mit zusatz und datum z.b. : export von haus x vom 12.12.04.xls wie kann ich das dann so machen das ne neue datei erstellt wird mit leicht anderem namen ? mit was weiss ich... noch ner 1 oder so hintendran so like : export_1 von haus x vom 12.12.04.xls |
Re: excel.exe aus delphi raus schliessen
Am Sichersten wäre es wohl, "Time" dafür zu nehmen, Es sei denn, die Auswertungen werden 24 Stunden vom Anwender offen gehalten. :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz