![]() |
Ein Excel-Sheet grundsätzlich in einem NEUEN Excel öffnen
Hallo zusammen,
wie kann ich eine Excel-Datei grundsätzlich in einer neuen Excel-Anwendung öffnen ? Wenn ein Excel-Anwendung schon geöffnet ist, soll das Excel-Blatt nicht in dem schon geöffneten Excel als weiteres Fenster geöffnet werden, sondern es soll vorher grundsätzlich eine neue Excel-Anwendung gestartet werden. Bisher mache ich es hiermit:
Delphi-Quellcode:
Dieser Aufruf startet die Test.xls aber in dem schon aktiven Excel.
ShellExecute(Application.Handle, 'OPEN', pchar(C:\Test\Test.xls'), NIL, NIL, SW_NORMAL);
Gruss Holger |
Re: Ein Excel-Sheet grundsätzlich in einem NEUEN Excel öffne
Es gibt in den Optionen von Excel auf dem Karteireiter Ansicht den Haken "Fenster in Taskleiste". Meinst du das ?
|
Re: Ein Excel-Sheet grundsätzlich in einem NEUEN Excel öffne
Nein,
so würde ich es ohne Delphi machen: 1. Ich starte Excel, ich öffne eine Excel-Datei 2. Ich starte nochmal Excel und öffne eine andere Excel-Datei Nun habe ich zweimal Excel offen mit jeweils einer Excel-Datei. Das gleiche soll beim Aufruf aus Delphi gemacht werden. Mit meinem angegeben Aufruf passiert nur folgendes: 1. Ich starte Excel, ich öffne eine Excel-Datei 2. Ich öffne eine weitere Excel-Datei Und dies soll nicht so sein. Gruss Holger |
Re: Ein Excel-Sheet grundsätzlich in einem NEUEN Excel öffne
Vielleicht so: Man könnte TExcelApplication benutzen und müsste jedes Mal eine neuen Instanz davon erzeugen. Ich sehe gerade, dass es da auch das Property "ConnectKind" gibt. Dieses kann man auf den Wert "ckNewInstance" stellen.
|
Re: Ein Excel-Sheet grundsätzlich in einem NEUEN Excel öffne
Ich habe es jetzt mal so versucht:
Delphi-Quellcode:
Damit klappt es sogar. Ist das so in Ordnung, oder gibt es eine bessere Lösung ?
var
XLApp: Variant; const xlWBATWorksheet = -4167; begin XLApp := CreateOleObject('Excel.Application'); XLApp.Visible := True; XLApp.Workbooks.Add[XLWBatWorksheet]; XLApp.Workbooks.Open('C:\Test.xls'); Gruss Holger |
Re: Ein Excel-Sheet grundsätzlich in einem NEUEN Excel öffne
Zitat:
Gruss Holger |
Re: Ein Excel-Sheet grundsätzlich in einem NEUEN Excel öffne
Ist in der VCL drin. Karteireiter "Server". Einfach mal so´n TExcelApplication auf´s Form ziehen. Dann sieht man´s im Objektinspektor. Aber mit CreateOleObject machst du ja im Prinzip das gleiche.
|
Re: Ein Excel-Sheet grundsätzlich in einem NEUEN Excel öffne
Vielen dank für Deine Hilfe.
Gruss Holger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 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