| Startseite | Inhalt
StarBasic / OpenOffice.org Basic FAQ
Fragen und Infos: starbasic@dannenhoefer.de

Zurück Vor |
| 8.1.8 Wie kann man Serienbriefe per Makro erstellen? Ab 7.0 / 1.1
Serienbriefe per Makro zu erstellen ist eigentlich nicht so schwer. Für diese Aufgabe steht der Service MailMerge zur Verfügung (ab SO 7.0 und OOo 1.1). Mailmerge muss nur die passenden Parameter bestückt bekommen und das Quelldokument muß mit der entsprechenden Datenbank verknüpft sein. Folgende Parameter sind von Bedeutung MailMerge.DataSourceName Bekommt als Inhalt den Datenbanknamen der bei den Datenquellen hinterlegt ist. Achtung die genaue Schreibweise ist hier gefordert. Beispiel Mailmerge.DataSourceName="MyDatenbank" Mailmerge.DocumentUrl Enthält das BasisDocument für den Serienbrief. Diese Datei muß im URL-Format übergeben werden. Beispiel: MailMerge.DocumentURL=ConvertToUrl("c:\myMail.sxw") MailMerge.CommandType und MailMerge.Command Diese Beiden stellen die eigentliche Verbindung zur Datenbank her. Mit CommandType wird bestimmt wie auf die Datenbank zugegriffen wird. 0 = Tabelle 1 = Abfrage 2 = SQL-Abfrage Mit Command wird dann die Tabelle, Abfrage oder SQL-Abfrage übergeben. Beispiel MailMerge.CommandType=1 MailMerge.Command="Abfrage1" oder MailMerge.CommandType=0 MailMerge.Command="Tabelle1" MailMerge.OutputType Legt das Ausgabeziel fest. 1=Drucker 2=Datei Beispiel MailMerge.OutputType=1 MailMerge.OutputUrl Legt den Speicherpfad für die neuen Dokumente fest Beispiel MailMerge.OutputUrl=ConvertToUrl("C:\") MailMerge.FileNameFromColumn und MailMerge.Filenameprefix Mit diesen Beiden kann man festlegen das der Dateiname aus einem Feld der Tabelle für den Dateinamen verwendet wird. Diese Funktion ist aktiv wenn MailMerge.FileNameFromColumn true ist. Der Vorgabewert ist false. MailMerge.Filenameprefix wird das Feld festgelegt in dem der Dateiname steht. Beispiel MailMerge.FileNameFromColumn=True MailMerge.Filenameprefix="Dateiname" MailMerge.execute(MyProps()) Mit diesem Befehl wird die Funktion ausgeführt. Beispiel Dim MyProps as Object MailMerge.execute(MyProps()) Das Ganze sieht dann komplett so aus: MailMerge = createunoservice("com.sun.star.text.MailMerge") MailMerge.DataSourceName="MyDatenbank" MailMerge.DocumentURL=ConvertToUrl("c:\myMail.sxw") MailMerge.CommandType=1 MailMerge.Command="Abfrage1" MailMerge.OutputType=1 MailMerge.OutputUrl=Converttourl("C:\") MailMerge.FileNameFromColumn=True MailMerge.Filenameprefix="Dateiname" Dim MyProps as Object MailMerge.execute(MyProps()) |
Seitenanfang |

2003 - 2009 von Michael Dannenhöfer |
Letzte Aktualisierung: 06.04.2009