Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Beliebige Datei erstellen (Word, Excel, txt) (https://www.delphipraxis.net/103789-beliebige-datei-erstellen-word-excel-txt.html)

Thorben86 21. Nov 2007 21:52


Beliebige Datei erstellen (Word, Excel, txt)
 
Ich würde gerne mittels Delphi eine beliebige Datei erstellen, so wie über "Rechtsklick -> neu -> Textdokument/ Excel-Dokument"

es geht mir vor allem um Word, Excel, und Textdateien.

Textdateien wären ja kein Problem, aber bei den anderen beiden habe ich keine Ahnung. Habe hier im Forum bereits gesucht, aber habe nichts gefunden.

Die Dateien will ich nicht mit meinem Programm bearbeiten. Geht hierbei nur um eine Art verwaltung und will die Dateien mit der standard-Application öffnen.

Hoffe mir kan nda wer bei nen tipp geben.

mkinzler 21. Nov 2007 21:55

Re: Beliebige Datei erstellen (Word, Excel, txt)
 
Lass das jeweilige Programm die Datei erstellen. So macht es der Explorer m.W. auch.

Bernhard Geyer 21. Nov 2007 22:11

Re: Beliebige Datei erstellen (Word, Excel, txt)
 
Zitat:

Zitat von mkinzler
Lass das jeweilige Programm die Datei erstellen. So macht es der Explorer m.W. auch.

Sind nicht im System in einer der vielen unbekannten Systemverzeichnissenn leere Vorlagendateien hinterlegt? :gruebel:

Thorben86 21. Nov 2007 22:30

Re: Beliebige Datei erstellen (Word, Excel, txt)
 
Ich hab mal unter der Dateiverknüpfung geguckt.

eine neue Datei wird erstellt durch:
Code:
"D:\Programme\Microsoft Office\OFFICE11\EXCEL.EXE" /e /n
DDE verwenden:
DDE-Nachricht: [new("%1")]
Anwendung: Excel
Thema: system
beim öffnen:
Code:
"D:\Programme\Microsoft Office\OFFICE11\EXCEL.EXE" /e
DDE-Nachricht: [open("%1")]
leider ist das /n nicht dokumentiert, aber denke mal, dass das für neu steht.
Edit: hab bei den word-Parametern gerade gesehen, dass /N da was anderes heißt, also wahrscheinlich in Excel äquivalent:
Code:
/N: Startet Word ohne ein leeres Dokument zu öffnen
Ich muss ja theoretisch erst neu erstellen und dann öffnen.
Brauch ich dafür die dde-Nachricht zwingend?

Ich würde jetzt spontan mit shellExecute aufrufen ,aber kann ich da auch die dde-nachrichten reinpacken und wie müsste ich dass dan aufrufen?
Code:
/p <Verzeichnis> Excel starten und das aktuelle Verzeichnis wechseln

Zu den leeren Vorlagedateien:
für word gibt es eine in User/anwendungsdaten/vorlagen/ aber für exel keine Ahnung. müsste aus der dot-datei aber ja auch erstmal ein Dokument erstellen, oder?
könnte ich hiermit excel sagen, dass er die Datei in dem angegebenen Ordner erstellt?

grenzgaenger 21. Nov 2007 23:25

Re: Beliebige Datei erstellen (Word, Excel, txt)
 
sag mal, weshalb definierst du dir nicht die leeren vorlagen dateien... speicherst sie irgendwo, und bei bedarf kopierst du sie in das verzeichnis, auf welches du grad lust und laune hast...? da hast zum einen den vorteil, du brauchst nicht die app auf dem rechner haben und zweitens sind deine formatierungsinformationen bereits in der datei... (z. b. wie formatvorlagen, schriftgrössen, etc. pp.). dies nur mal so als denkanstoss...

mkinzler 22. Nov 2007 05:41

Re: Beliebige Datei erstellen (Word, Excel, txt)
 
Nur wären die Vorlagen dann festgeschrieben, während bei der dynamischen Methode die aktuell gültigen herangezogen werden.

Thorben86 22. Nov 2007 10:41

Re: Beliebige Datei erstellen (Word, Excel, txt)
 
Also ich würde es auch lieber so machen, dass ich dynamisch die aktuelle Normal-Vorlage nehmen.

Im Startmenü erstellt Office ja in der regel neben dem Office-Ordner noch 1 Elemente mit "Neue Office-Datei erstellen"

Bei mir existiert diese Datei irgendwie nicht. Könnte mir einer eventuell mal posten, ob da was als Verknüpfungs-Eigenschaften drin steht, auch wenn es unwahrscheinlich ist.

Bei den Office-Anwendungen steht leider auch nur grau hinterlegt "Microsoft Office.." drin. Irgendwo muss doch das Ziel für die Verknüpfung angegeben sein, oder? Vllt bekommt man darüber raus, was die Verknüfung "Neues Office-Dokument aufruft.


Auf der anderen Seite soll die Datei ja in nem Vorgegebenen Ordner erstellt werden, wofür die obrige Verknüpfung ja wieder unpraktisch wäre, da ich dort ja keinen Ordner Vorgeben kann.

Desshalb wäre zur Zeit immer noch die Dateien über das Programm zu erstellen das Mittel der wahl, aber ich weis halt nicht, wie ich das über shellExecute aufrufen muss, dass der die DDE-Nachricht mit da rein packt, weil die ja, so wie ich das sehe dafür zuständig ist, die neue Datei zu erstellen.

Laut Delphi-Hilfe gibt es da nur die Parameter "Open, Print, usw" aber kein New.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr.

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