Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi nach Excel-Export, Datei in NEUEM Excel öffnen (https://www.delphipraxis.net/137508-nach-excel-export-datei-neuem-excel-oeffnen.html)

hoika 22. Jul 2009 11:11


nach Excel-Export, Datei in NEUEM Excel öffnen
 
Hallo #,

sFileName enthält die neue Datei (per OLE-Automation erzeugt)

Anzeigen
ShellExecute(0, 'open', PChar(sFileName), NIL, NIL, SW_SHOWNORMAL);

Wenn ich den Code so benutze und Excel ist bereits offen,
wird die Datei im schon offenen Excel angezeigt.

Das will ich aber nicht ...
Wie mache ich das ?


Heiko

GHorn 22. Jul 2009 12:30

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Delphi-Quellcode:
  try
    XLApp := GetActiveOleObject('Excel.Application');
  except
    XLApp := CreateOleObject('Excel.Application');
  end ;
  // Excel verstecken
  XLApp.Visible := False ;
  // Open the existing Workbook:
  XLApp.Workbooks.Open(sXlsFile);   // Excel-Datei incl. Pfad
  ...
  ...
  ...
  XLApp.Visible := True;  // Schließen und Speichern direkt in Excel

Gerald

hoika 22. Jul 2009 14:29

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Hallo,

macht der Code nicht gerade das Gegenteil,
d.h. er benutzt ein offenes Excel ?
Soll er ja gerade nicht.


Heiko

GHorn 22. Jul 2009 15:42

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Wenn Du zwei Exceltabellen durch Doppelclick im Explorer
öffnest, werden sie in 2 getrennten Fenstern geöffnet.
In der Taskbar werden beide Dateien getrennt angezeigt.
Excel startet nur 1x. Wie man Excel 2x komplett neu starten
kann, habe ich auch noch nicht ausprobiert.

hoika 22. Jul 2009 15:54

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Hallo,

ich probier es einfach aus.
Danke.


Heiko

Chemiker 22. Jul 2009 21:01

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Hallo hoika,

normaler weise kann mit einem zweiten Aufruf von:

Delphi-Quellcode:
XLApp := CreateOleObject('Excel.Application');
Eine zweite Excel-Instanz aufrufen.

z.B.:

Delphi-Quellcode:
procedure TForm3.btnExcelTabellenAnzahlClick(Sender: TObject);
var
  XLApp: OLEVariant;
  iSheetAnzahl: Integer;
  z: integer;
begin
  XLApp := CreateOleObject('Excel.Application');
  XLApp.Visible:= TRUE;
  ISheetAnzahl:= 5;
  For z:=1 to ISheetAnzahl-1 do
  begin
    XLApp.Workbooks.Add;
  end;
end;
Bis bald Chemiker

hoika 23. Jul 2009 07:12

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Hallo,

ich will aber, dass der User danach beide Programme
(meins und Excel) unabhängig voneinander bedienen kann.

Ich werde mal nach HInst -> HWnd suchen,
dann kann ich das Excel per BringWindowToTop holen.


Heiko

GHorn 23. Jul 2009 07:20

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Zitat:

ich will aber, dass der User danach beide Programme
(meins und Excel) unabhängig voneinander bedienen kann.
Das ist doch auch möglich. Dein Programm und Excel laufen doch
unabhängig voneinander. Oder habe ich jetzt das Brett vorm Hirn???

hoika 23. Jul 2009 08:04

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Hallo,

Delphi-Quellcode:
XLApp: OLEVariant;
Nach obigen Code muss doch mit der Variable was passieren oder nicht ?
Wenn ich mein Programm jetzt beende, wird dann nicht auch Excel beendet (Interfaces)

Ist jetzt aber egal,
ich mach das über ShellExecute.


Heiko

GHorn 23. Jul 2009 11:37

Re: nach Excel-Export, Datei in NEUEM Excel öffnen
 
Zitat:

Nach obigen Code muss doch mit der Variable was passieren oder nicht ?
Wenn ich mein Programm jetzt beende, wird dann nicht auch Excel beendet (Interfaces)
Nö - Excel bleibt geöffnet.

Gerald


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz