Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Word Automation Delphi 5 (https://www.delphipraxis.net/54807-word-automation-delphi-5-a.html)

Colognemaniac 11. Okt 2005 18:21


Word Automation Delphi 5
 
Hallo Leute,

ich habe das Problem das ein Kunde unbedingt einen Katalog in Word benötigt.
Leider liegen die Daten teilweise in Textdateien, teilweise als externe Grafik oder aber in
einer Paradox Tabelle vor.

hier ein paar mehr Details:

Der Katalog soll folgendes beinhalten:
ISBN --> ist in Paradox
Menge --> Paradox
Bild des Buches --> Grafik in Form von ISBN.jpg (1234123451.jpg)
Beschreibung des Buches --> Textdatei in Form von ISBN.txt)

Das Problem ist nun das ich es zwar schaffen würde eine Zeile die ich vorher in word mit Textmarken versehen habe zu füllen.

Aber der Kunde möchte X-beliebig viele Zeilen in seinem Katalog haben.

Hat einer eine elegante Idee?

Die Realisierung mit Quickreport fällt leider flach, da der Kunde den Katalog eventuell bearbeiten möchte.

Ich danke schonmal für Eure Hilfe.

Gruss
Colognemaniac

raffo 11. Okt 2005 19:30

Re: Word Automation Delphi 5
 
Also die Daten in Deine Anwendung einzulesen - schaffst Du?!

Mein Vorschlag wäre, die Word Serienbrief Funktion zu benutzen, und zwar nach dem Einlesen schreibst Du eine .csv Datei.

In Word generierst Du einen Serienbrief (Quelle eben diese .csv) mit den Variablen, um das hinterher editierbar zu machen (man kann im Prinzip auch die Variableninhalte editieren) mit der Symbolleiste "Seriendruck" und "Seriendruck in Datei"

teebee 11. Okt 2005 19:31

Re: Word Automation Delphi 5
 
Wieso nicht einfach alles der Reihe nach in ein Word-Dokument schreiben:
Delphi-Quellcode:
Application.Selection.TypeText(....);
Bilder schiebe ich über das Clipboard nach Word:
Delphi-Quellcode:
Clipboard.Assign(Image);
Application.Selection.Paste;
Ist zwar nicht die feine englische Art, das Clipboard zu überschreiben, aber eine andere Möglichkeit habe ich nicht gefunden (außer über Dateien).

Wegen div. Formatierungen empfehle ich Dir, ein Makro aufzuzeichnen und zu schauen, was dabei herauskommt.

Gruß, teebee

Colognemaniac 11. Okt 2005 20:34

Re: Word Automation Delphi 5
 
Die Daten passend aufzubereiten macht mir keine großen Probleme.
Nur das Einfügen der Bilder und das X-Zeilen Problem machen mir Sorgen.

Das mit dem Clipboard ist zwar eine Lösung aber eigentlich sollte es ordentlich sein und nicht so getrickst.

marabu 11. Okt 2005 21:29

Re: Word Automation Delphi 5
 
Ist vielleicht besser, wenn du nicht alle 50.000 Bilder ins Dokument aufnimmst - AddOleObject wäre da noch eine Option.

Grüße vom marabu

und willkommen hier in der Delphi-PRAXiS.

raffo 11. Okt 2005 21:34

Re: Word Automation Delphi 5
 
Muss es denn auch unbedingt .doc sein, oder will der Kunde einfach nur WORD benuzten. Könnte man das nicht auch als .html entwerfen (die Bilder als Links) und dann in Word laden...

Colognemaniac 12. Okt 2005 16:04

Re: Word Automation Delphi 5
 
Hallo ja leider muss es Word sein da dieser Katalog im Moment nur alle 2 oder 3 Monate erstellt wird und einfach die verkauften Bücher aus der Liste manuell rausgelöscht werden sollen.

Und die Lösung mit HTML ist in der hinsicht problematisch da der Katalog auch Offline bei einem Vertreter funktionieren muss und ich nicht veranlassen kann das auf jedem Rechner wo der Katalog laufen soll. ein Apache installiert wird,


Mit dem Einbinden aller Grafiken wäre zwar eine Interessante Lösung aber da ich derzeit knapp 100.000 Jpegs, im Schnitt sind sie zwar nur 30 kb groß, habe. Würde es spätestens beim nächsten Katalog die Datenmenge sprengen, da die 100.000 Grafiken nur von einem halben Monat sind.

Also ich denke das ich im Moment vielleicht sogar für das Bild die Clipboard Methode nutzen werde, kann aber genaueres dazu wenn ich weiter rumexperimentiert habe.

Trotzdem danke schonmal für Eure Ideen.

Wenn noch jemand eine gute Idee hat, bitte mitteilen.

Gruß aus Köln
Michael

BenjaminH 12. Okt 2005 16:10

Re: Word Automation Delphi 5
 
Zitat:

Zitat von Colognemaniac
Und die Lösung mit HTML ist in der hinsicht problematisch da der Katalog auch Offline bei einem Vertreter funktionieren muss und ich nicht veranlassen kann das auf jedem Rechner wo der Katalog laufen soll. ein Apache installiert wird,

Da verstehst du was Falsch, html dateien laufen auch ohne einen Webserver, schließlich werden die ja eh beim User verarbeitet!

raffo 12. Okt 2005 16:12

Re: Word Automation Delphi 5
 
Wieso Apache installiert(???), also ich finds einfacher ne .html zu erstellen - die läuft doch auch offline und die Ziel Benutzer haben doch nix zu ändern und können das über den Browser einfach 'relaxt' ansehen - so meine Meinung

Und das mit den 100.000 Bildern, da schmiert Word doch eh ab - vergiss es damit.

marabu 12. Okt 2005 17:49

Re: Word Automation Delphi 5
 
Wenn ich mir die Anforderungen hier so ansehe - MS WORD ist ein Produkt und keine Anforderung - dann würde ich das ganze mit Delphi rund um eine single file embedded SQL database stricken. So lässt sich eine komfortable Benutzerschnittstelle realisieren und das ganze wäre auch noch robust, sicher und ökonomisch. Word und HTML bieten einfach nicht den Komfort, der mir vorschwebt.

Nachdenkliche Grüße vom marabu

Jelly 12. Okt 2005 18:04

Re: Word Automation Delphi 5
 
Zitat:

Zitat von Colognemaniac
Wenn noch jemand eine gute Idee hat, bitte mitteilen.

Ich verweise immer wieder gerne auf die TEkRTF Komponente, mit der ich all meine Berichte erstelle. Ist zwar RTF statt DOC, aber Word kann diese Dateien ja genauso handhaben wie echte DOC. Die Datei ist nur erheblich grösser. Mit der Komponente kannst du problemlos Tabelle erstellen, Master-Detail Reports machen, und auch Bilder einfügen. Und die Bedienung ist auch recht simpel. Einfach eine Vorlage im RTF erstellen und los gehts. Einen Versuch ist es allemal wert. Wirklich nur zu empfehlen von meiner Seite.

kiar 12. Okt 2005 18:07

Re: Word Automation Delphi 5
 
hallo,

das gesamtaufkommen an daten wären in einem halben Monat ca 3 Giga, alles andere als ne DB wäre da schlecht zu handeln.

raik

Jelly 12. Okt 2005 18:27

Re: Word Automation Delphi 5
 
Zitat:

Zitat von kiar
hallo,

das gesamtaufkommen an daten wären in einem halben Monat ca 3 Giga, alles andere als ne DB wäre da schlecht zu handeln.

raik

??? Bin ich im falschen Film oder Du im falschen Thread :zwinker: Was meinst Du mit deiner Aussage?

kiar 12. Okt 2005 18:30

Re: Word Automation Delphi 5
 
Zitat:

Zitat von Colognemaniac

Mit dem Einbinden aller Grafiken wäre zwar eine Interessante Lösung aber da ich derzeit knapp 100.000 Jpegs, im Schnitt sind sie zwar nur 30 kb groß, habe. Würde es spätestens beim nächsten Katalog die Datenmenge sprengen, da die 100.000 Grafiken nur von einem halben Monat sind.

darauf habe ich mich bezogen, und das alle 2-3 Monate ein neuer KAtalog erstellt wird.

raik

Jelly 12. Okt 2005 19:30

Re: Word Automation Delphi 5
 
OK, ich hätte mal alle Beiträge aufmerksamer lesen sollen. Bei 100.000 Grafiken à 30 kB bin ich auch der Meinung, dass Word damit aber vollends überfordert ist. Wie willste 3GB Daten in einer Datei bearbeiten :wall:

Aber bei solchen Datenmengen macht es imho überhaupt keinen Sinn einen Katalog zu erstellen. Wie dick wird der denn. Da findet sich ja keiner mehr zurecht.

Colognemaniac, du solltest dir mal andere Lösungsvorschläge durch den Kopf gehen lassen. Meine Idee: Die Daten in einer Datenbank verwalten, die Bilder auf einen Fileserver, und via Webinterface darüber zugreifen. 3 GB an Daten sind sonst nicht mehr überschaubar.

Colognemaniac 13. Okt 2005 09:33

Re: Word Automation Delphi 5
 
Hallo

danke nochmal für Eure Rege Beteiligung.

Bei meiner Einwende mit der Datenmenge handelt es sich nur dabei um das Problem wenn ich alle JPeg'S mit in das Dokument einbinde.
Im Normalfall werden nie alle alle Bücher in diesen Katalog aufgenommen sondern nur eine Auswahl von sagen wir 250 Büchern.

Weshalb ich kein HTML nutzen kann ist das der Katalog per Email an diverse Vetreter verschickt werden muss.

Ich bekomme es mitnerweile fast hin eine Grafik nach Word zu schieben.

VBA Makro Variante:
Selection.Inlineshapes.AddPicture('1234567891.jpg' , LinkToFile:=False, SaveWithDocument:=True)

Delphi
Selection.Inlineshapes.AddPicture('1234567891.jpg' , ??????,???????)

und da komme ich quasi zu einem Problem, die beiden Parameter kriege ich nicht hin.
Ein einfaches true, oder false, und 1 oder 0 klappen auch nicht ebenso wie eine 1 zu 1 Übernahme des VBA Codes nicht funktioniert.

Aber eines muss man euch lassen Ihr seid echt spitze hier in diesem Forum.
Dank an alle nochmal.

Gruss aus Köln
Colognemaniac

MPirnstill 13. Okt 2005 10:25

Re: Word Automation Delphi 5
 
Hallo!

Zitat:

Zitat von Colognemaniac
VBA Makro Variante:
Selection.Inlineshapes.AddPicture('1234567891.jpg' , LinkToFile:=False, SaveWithDocument:=True)

Delphi
Selection.Inlineshapes.AddPicture('1234567891.jpg' , ??????,???????)

und da komme ich quasi zu einem Problem, die beiden Parameter kriege ich nicht hin.
Ein einfaches true, oder false, und 1 oder 0 klappen auch nicht ebenso wie eine 1 zu 1 Übernahme des VBA Codes nicht funktioniert.

Ist dir aufgefallen, das diese Parameter 'var-parameter' sind. Da solltest du dir entspr. 2 OLEVariant - Variablen definieren, die vor aufruf versorgen und diese dann übergeben. Vielleicht geht das ja! :?: :zwinker:

Gruß

MPirnstill 25. Nov 2005 08:34

Re: Word Automation Delphi 5
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von Colognemaniac
Wenn noch jemand eine gute Idee hat, bitte mitteilen.

Ich verweise immer wieder gerne auf die TEkRTF Komponente, mit der ich all meine Berichte erstelle. Ist zwar RTF statt DOC, aber Word kann diese Dateien ja genauso handhaben wie echte DOC. Die Datei ist nur erheblich grösser. Mit der Komponente kannst du problemlos Tabelle erstellen, Master-Detail Reports machen, und auch Bilder einfügen. Und die Bedienung ist auch recht simpel. Einfach eine Vorlage im RTF erstellen und los gehts. Einen Versuch ist es allemal wert. Wirklich nur zu empfehlen von meiner Seite.

Hi Jelly!

Durch einen anderen Thread auf den du geantwortest hast bin ich auf diese TEkRTF-Komponenten aufmerksam geworden. Du hast davon so geschwärmt, da bin ich deinem Link gefolgt. Aber dort werden nur Versionen ab D5 aufwärts angeboten. Ich kämpfe hier nun noch mit Altlasten, was unter anderem den Einsatz von Delphi 2.0 bedeutet.
Weißt du, ob die Komponente damit auch funktioniert? Ist zum Einsatz immer ein installiertes Word Voraussetzung? Ich meine RTF-Dateien kann man schließlich auch mit WordPad öffnen. :zwinker:

Gruß

Jelly 25. Nov 2005 10:13

Re: Word Automation Delphi 5
 
[quote="MPirnstill"]Aber dort werden nur Versionen ab D5 aufwärts angeboten. Ich kämpfe hier nun noch mit Altlasten, was unter anderem den Einsatz von Delphi 2.0 bedeutet. [/delphi]
Setz dich doch mal mit dem Author in Verbindung. Ich nutze die Kompos zumindest mal erfolgam unter D4, und die gabs auch mal dort zum Download. Vielleicht findet er ja noch irgendwo was für D2.

Zitat:

Zitat von MPirnstill
Ist zum Einsatz immer ein installiertes Word Voraussetzung? Ich meine RTF-Dateien kann man schließlich auch mit WordPad öffnen.

Klar, Wordpar geht auch, nur bietet WinWord wesentlich mehr Formatierungsmöglichkeiten an als Wordpad, grad was Tabellen angeht, die unabdingbar sind um Berichte zu erstellen. Aber ein Tipp: Du kannst den kostenlosen Wordviewer von Microsoft benutzen, um dir die Berichte anzeigen zu lassen. Nur dei Templates musst du dann mit dem grossen Bruder erstellen.

MPirnstill 25. Nov 2005 10:17

Re: Word Automation Delphi 5
 
Danke dir für die Infos. :cheers:

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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