![]() |
Serienbriefe mit OpenOffice
Moin!
ich versuche jetzt schon seit Tagen aus Delphi einen OpenOffice-Serienbrief zu erstellen. Als Datenquelle möchte ich eine csv-Datei verwenden. Ich habe auch schon das Web durchwühlt, finde aber kein komplettes funktionierendes Beispiel. Hat jemand eine Idee oder einen Link. Danke im Voraus. |
AW: Serienbriefe mit OpenOffice
Ich benutze schon seit Jahren .txt-Files als Datenquelle zur Serienbriefschreibung. Um die Serienbriefschreibung vom eingesetzten Office-Produkt unabhängig zumachen mische ich jedoch nicht mittels Delphi sondern starte lediglich das entsprechende Dokument mit
Delphi-Quellcode:
Der eigentliche Seriendruck muss vom Benutzer in OOo/Word etc. ausgelöst werden. Für OOo muss eine Datenbankdatei .odb angelegt sein, die z. B. Pfad zur .txt- oder .csv-Datei, Texttrenner etc. enthält.
If Sender = SpeedButton2 then
begin if not FileExists(DBEdit1.Text) then begin Beep; Messagedlg('Dokument im angegebenen Pfad nicht gefunden.', mtError, [mbOK], 0); exit; end else begin try ShellExecute(0, 'open', PChar(DBEdit1.Text), nil, nil, SW_SHOWMAXIMIZED); except on E:Exception do Messagedlg(E.Message, mtError, [mbOK], 0); end; end; end; Hier eine kleine Beschreibung für das Anlegen einer Datenbankdatei und wie ich die Datensätze übergebe: Als Serienbriefe können bestehende und neue Dokumente verwendet werden. Die nachstehende Beschreibung über das Einrichten von Serienbriefe erfolgt auf der Grundlage von OpenOffice.org 3.1. 1. Klicken Sie auf die Menüoptionen Datei/Neu/Datenbank. 2. Im Datenbank-Assistent wählen Sie durch einen linken Mausklick die Option Verbindung zu einer bestehenden Datenbank herstellen und wählen aus der dann aktivierten Auswahlbox Text aus. Klicken Sie auf den Button Weiter>>. 3. Wählen Sie als Pfad zu den Textdateien Ihr persönliches Verzeichnis. Sie können stattdessen auch auf den rechts daneben liegenden Schalter Suchen klicken und damit das Verzeichnis auswählen. 4. Wählen Sie als Feldtrenner das Semikolon (;). 5. Wählen Sie als Texttrenner das doppelte Anführungszeichen ("). 6. Wählen Sie als Dezimaltrennzeichen ein Komma (,) und als Tausendertrennzeichen einen Punkt (.). 7. Klicken Sie auf den Button Weiter>>und anschließend auf den Button Fertig stellen. 8. Im Fenster Speichern unter vergeben Sie einen Namen für die Verbindung und speichern diesen in ein Verzeichnis Ihrer Wahl. |
AW: Serienbriefe mit OpenOffice
Danke für deine Antwort. Das wäre die Notlösung. Ich möchte aber Alles von Delphi aus steuern. Der Anwender soll den fertigen Serienbrief bekommen.
|
AW: Serienbriefe mit OpenOffice
Vielleicht findest Du hier
![]() |
AW: Serienbriefe mit OpenOffice
Hallo Peter,
die Bibliothek hatte ich mir schon angeschaut. Es gibt hier mehrere Funktionen, leider aber keinen Serienbrief. Lutz |
AW: Serienbriefe mit OpenOffice
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Lutz,
vor einiger Zeit habe ich mal in dieser Richtung etwas gemacht und dazu auch zum Teil Code geklaut. Den Code findest Du als Anhang. Wenn ich es noch richtig in Erinnerung habe, wird zum mischen MailMerge benötigt, der aber im Dokument vordefinierte Seriendruckfelder benötigt. Du kannst Dir ja mal SDK von ![]() Zu MailMerge hier ![]() |
AW: Serienbriefe mit OpenOffice
Hallo Peter,
ich habe inzwischen schon viele Programmteile im Web gefunden. Leider noch kein zusammenhängendes funktionierendes Beispiel. Ich werde mich jetzt mal ins SDK einarbeiten. Vielleicht finde ich da ja eine Lösung. Ich melde mich dann mit dem Ergebnis. Zunächst vielen Dank. Lutz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 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-2025 by Thomas Breitkreuz