![]() |
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 |
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 |
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 |
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. |
Re: nach Excel-Export, Datei in NEUEM Excel öffnen
Hallo,
ich probier es einfach aus. Danke. Heiko |
Re: nach Excel-Export, Datei in NEUEM Excel öffnen
Hallo hoika,
normaler weise kann mit einem zweiten Aufruf von:
Delphi-Quellcode:
Eine zweite Excel-Instanz aufrufen.
XLApp := CreateOleObject('Excel.Application');
z.B.:
Delphi-Quellcode:
Bis bald Chemiker
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; |
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 |
Re: nach Excel-Export, Datei in NEUEM Excel öffnen
Zitat:
unabhängig voneinander. Oder habe ich jetzt das Brett vorm Hirn??? |
Re: nach Excel-Export, Datei in NEUEM Excel öffnen
Hallo,
Delphi-Quellcode:
Nach obigen Code muss doch mit der Variable was passieren oder nicht ?
XLApp: OLEVariant;
Wenn ich mein Programm jetzt beende, wird dann nicht auch Excel beendet (Interfaces) Ist jetzt aber egal, ich mach das über ShellExecute. Heiko |
Re: nach Excel-Export, Datei in NEUEM Excel öffnen
Zitat:
Gerald |
Re: nach Excel-Export, Datei in NEUEM Excel öffnen
Hallo hoika,
wie GHorn schon geschrieben hat, bleiben beide Excel-Instanzen offen, allerdings mache ich es eigentlich immer so, wenn ich Excel mit meinem Programm öffne, dann soll es auch durch das Delphi-Programm ordnungsgemäß wieder geschlossen werden. Klar, Du kannst es natürlich auch mit ShellExecute arbeiten, aber Deine Anforderungen wie sie jetzt bekannt sind, kann man auch so lösen wie es jetzt vorgeschlagen worden ist. Bis bald Chemiker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 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 by Thomas Breitkreuz