GambaJo Geschrieben 23. September 2005 Geschrieben 23. September 2005 Ich hab da leider ein Problem. Wir nutzen eine Entwicklungsumgebung, die es ermöglicht per COM-Schnittstelle mit Microsoft-Office-Produkten zu kommunizieren. Ich kann aus unserer Applikation z.B. ein Worddokument erstellen und es mit Text usw. füllen. Das alles geschieht über VBA Methoden und Eigenschaften, die wir an die Schnittstelle weiter geben. So weit, so gut. Um das flexibel zu machen, nutzen wir Word-Templates. In diesen Templates werden Textmarken an bestimmten Positionen hinterlegt, das kann der Kunde selbst und frei machen. Wird aus unserer Applikation nun ein Word-Dokument auf Basis des Templates erstellt, geht unsere Applikation hin und füllt die Textmarken mit Daten. Die Referenzzierung läuft dabei über den Textmarkennamen (Objekt Bookmarks). Das läuft auch so weit ganz gut. Der Kunde kann sich frei verschiedene Vorlagen erstellen und nach belieben formatieren. Das eigentliche Problem kommt jetzt: Auf diese Art und Weise sollen Rechnungen in Word erstellt werden, d.h., die Rechnung wird in unserer Applikation erstellt, und anstatt sie aus der Applikation zu drucken, wird sie an Word übergeben. Wie gewohnt werden die Textmarken gefüllt (Kunde, Rechnungsnummer, Datum, alles was halt zu einer Rechnung gehört). Das Problem liegt jetzt in den Rechnungspositionen. Da die Menge der Rechnungspositionen von Rechnung zu Rechnung variiert, kann ich keine feste Anzahl an Textmarken im Template festlagen. Einen kompletten String an eine Textmarke mit allen Rechnungspositionen zu übergeben wäre zu unflexibel. Die Rechnungspositionen bestehen ja aus mehreren Spalten (Leistungsnummer, Menge, Preis, Gesamtpreis,...). Die soll der Kunde sich im Template verschieben können, so wie er es gerne hätte. Und das ist mit Textmarken nicht machbar, zumindest nicht nach meinem Wissen. Ist es möglich so etwas flexibel und dynamisch zu realisieren? Wenn ja, mit welchem Objekt in VBA? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.