Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Druck in Word
noppi - Mo 12.08.02 21:09
Titel: Druck in Word
hallo delphi freunde,
ich möchte gerne text in word in formularfelder ausdrucken. durch unsere kunden habe ich diverse word-formulare als vorgabe, die ich je nach bedarf mit "leben" füllen muss.
das problem, ein einzelnes formularfeld im word mit text zu füllen habe ich bereits gelöst.
mein problem liegt darin, daten aus einer datenbank (paradox) in eine tabelle im word (mit formularfelder) auszulesen.
mein quellcode bis jetzt sieht so aus:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| try table1.first; word.run('druckword1'); while not table1.eof do begin word.activedocument.formfields.item('namevorname').result := table1.fieldbyname('namevorname').asstring; word.run('Druckword'); table1.next; end; |
im macro druckword wird ein neues textfeld mit dem namen namevorname erstellt.
wenn das programm läuft, generiert das macro im word genau so viele neue zeilen mit formularfeldern wie meine tabelle datensätze hat aber leider wird immer nur das erste formularfeld beschrieben (es überschreibt sich selbst)
hat jemand für mich eine plausibele lösung des problems?
danke im voraus
noppi
Cashels - Mo 12.08.02 22:15
Hi,
zu deinem Problem hab ich zwar direkt keine Lösung, kann dir aber ne alternative anbieten. Ich hab mal bei
Torry [
http://www.torry.net] die Komponente ekRTF runtergeladen. War ne Komponent um Berichte als RTF Dateien zu erzeugen. Ich arbeit viel damit und bin echt damit zufrieden.
Gruss,
Tom
Tino - Mo 12.08.02 22:36
Hallo Noppi,
liegt es vielleicht daran das Du einmal druckword1 und das andere mal Druckword aufrufst?
Gruß
TINO
bis11 - Di 13.08.02 07:48
Hi Noppi,
probiere doch einfach mal dort einen Zähler reinzusetzen. So wie Du es jetzt geschrieben hast, heißt jedes Feld "namevorname", damit nimmt er immer das erste was er findet auf der Seite.
noppi - Di 13.08.02 11:23
das ist ja mein problem, welches ich nicht verstehe.
durch das makro wird ein neues formularfeld mit dem namen "namevorname" erstellt. hierdurch hat das alte formularfeld "namevorname" keine bezeichnung mehr, d.h. es existiert in meinem word dokument nur ein formularfeld mit dem namen "namevorname". er schreibt aber immer nur in mein formularfeld in der ersten zeile meiner tabelle.
Tino - Di 13.08.02 11:27
@noppi: und was ist mit diesem Hinweis?
Tino hat folgendes geschrieben: |
liegt es vielleicht daran das Du einmal druckword1 und das andere mal Druckword aufrufst? |
bis11 - Di 13.08.02 11:59
Poste mal den Sourcecode der beiden Makros, vielleicht liegt ja darin Dein Fehler oder schicke mir die Makros per Mail.
noppi - Di 13.08.02 21:02
hallo und recht herzlichen dank für euere bemühungen,
ich habe es geschafft, der ausdruck in word funktionert.
nach optimierung der makros im word klappt es endlich, es ist zwar sehr aufwendig aber es funktioniert erst einmal.
vielleicht weiß ja jemand, wie ich die word makros in mein delphi programm integrieren kann, damit die lästige makro schreiberei an jedem rechner aufhört.
wenn jemand einen tip hat, kann er mir diesen ja schicken.
die optimierung der word makros besteht darin, das ich den formularfeldern, die bereits beschrieben wurden einen anderen namen gebe.
danke nochmals
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!