Seite 1 von 1

Problem beim Druck von Serienbriefen aus per Makro mit ODB-Datenquelle

Verfasst: Fr 9. Aug 2019, 12:58
von jh56
Hallo bei Herr Dannenhöfer (Starbasic /Openoffice.org), wie auch Bei Familie Großkopf fand ich ein Beispiel zur Automatisierung von Druckaufträgen (Serienbriefe) per Makro.
Leider bekomme ich die Adaption an meine BeispielDB nicht zum laufen.

Hier der Code

Code: Alles auswählen

SUB Serienbriefdruck
	DIM oMailMerge AS OBJECT
	DIM aProps() as object
	oMailMerge = createunoservice("com.sun.star.text.MailMerge")
	oMailMerge.DataSourceName = "testdb"
	oMailMerge.DocumentURL = ConvertToUrl("/home/juergen/Dokumente/Mysql/Vorlagen/Test.odt")
	oMailMerge.CommandType = 0	
 	oMailMerge.Command = "Member"
	oMailMerge.OutputType = 2
	oMailMerge.OutputUrl = ConvertToUrl("/home/juergen/Dokumente/Mysql/Listen/")
	oMailMerge.FileNameFromColumn = True
	oMailMerge.Filenameprefix = "Test07"
	oMailMerge.execute( aProps())
END SUB
Die testdb ist angemeldet. der Serienbrief lässt sich per Drucktaste im Menü erfolgreich drucken.
Der Makro bricht beim oMailMerge.execute ab mit mail merge failed, nor furtherinformation aviable.
Serienbrief_mit_Datenquelle.png
Serienbrief_mit_Datenquelle.png (154.21 KiB) 1315 mal betrachtet
Aufruf_Serienbrief_nach Datei.png
Aufruf_Serienbrief_nach Datei.png (226.42 KiB) 1315 mal betrachtet
ich hätte erwartet, dass im Verzeichnis Listen eine Datei Test07 generiert wird.

Danke für Hilfe

Jürgen
Meine Umgebung:
Linux Mintb19.1 64-bit Cinamon
LibreOffice:
Version: 6.2.4.2
Build-ID: 2412653d852ce75f65fbfa83fb7e7b669a126d64
CPU-Threads: 4; BS: Linux 4.15; UI-Render: Standard; VCL: gtk3;
Gebietsschema: de-DE (de_DE.UTF-8); UI-Sprache: de-DE
Calc: threaded

Re: Problem beim Druck von Serienbriefen aus per Makro mit ODB-Datenquelle

Verfasst: Fr 9. Aug 2019, 16:21
von F3K Total
Hi,
kam mir irgendwie bekannt vor, habe geforscht und probiert, es liegt wohl am

Code: Alles auswählen

oMailMerge.FileNameFromColumn = True
oMailMerge.Filenameprefix = "Test07"
der Filenameprefix muss so heißen, wie die Spalte, aus der du den FileName holen willst, z.B. so:

Code: Alles auswählen

oMailMerge.FileNameFromColumn = True
oMailMerge.Filenameprefix = "NNAme"
Gruß R