mit Base und Mailmerge drucke ich Rechnungen als Serienbrief.
Das Makro ist so angelegt, das wahlweise direkt gedruckt oder als einzelne Datei gespeichert wird. Das funktioniert auch einwandfrei.
Nun möchte ich das in einem Arbeitsgang die Rechnungen gedruckt und als einzelne Datei gespeichert werden. Da komme ich nicht weiter.
Ich scheitere daran, die OutputTypes 1 und 2 miteinander zu kombinieren. Wer weiß da Rat?
Hier der entsprechende TestMakro-Ausschnitt, es wird einwandfrei gedruckt, jedoch nicht gespeichert:
Code: Alles auswählen
oMailMerge = createunoservice("com.sun.star.text.MailMerge")
'Datenbankname ermitteln
Globalscope.BasicLibraries.loadLibrary("Tools")
sDBName = Tools.Strings.GetFileNameWithoutExtension(thisDatabaseDocument.url, "/")
oMailMerge.DataSourceName = sDBName
' Vezeichnis und Name der zu druckenden Datei zusammensetzen
' Datei muß im selben Verzeichnis sein, wie die Datenbank
' RechURL kommt als globale Variable aus SUB "Serienbriefdruck"
sURL = RechURL
sURL = DirectoryNameOutOfPath(sURL,"/")
sDatei = sURL & "/" & sBriefauswahl
oMailMerge.DocumentURL = sDatei ' Linux und Windows muß funktionieren
oMailMerge.CommandType = 1 '' Abfrage = "1", Tabelle = "0"
oMailMerge.Command = "Ab_RechDruck"
oMailMerge.Filter = """KAuswahl"" = TRUE AND ""RechDruck"" is null"
' eine Datei für jede Adresse = "2", Ausgabe an Drucker = "1"
oMailMerge.OutputType = 1
IF vGlobKopienZahl > 0 THEN
printProp(0).Name = "Wait"
printProp(0).Value = True
printProp(1).Name = "CopyCount"
printProp(1).Value = + vGlobKopienZahl + 1 ' Kopienzahl aus Formularfeld + Orginal
oMailMerge.PrintOptions = printProp()
'testweise eingefügt in der Hoffnung das es funktioniert
' in Dateien speichern
oMailMerge.OutputType = 2
' Pfad zum Speicherverzeichnis der Serienbriefe
oSer = createUNOService("com.sun.star.system.SystemShellExecute")
sURL = RechURL ' globale Var. aus SUB "Serienbriefdruck"
sURL = DirectoryNameoutofPath(sURL,"/") & "/zz_Serienbrief"
' Ordner mit gespeicherten Dateien öffnen
oSer.execute(sURL,,0)
oMailMerge.OutputUrl = sURL ' Linux und Windows muß funktionieren
oMailMerge.FileNameFromColumn = True
' wie soll die jeweilige Datei heißen
oMailMerge.Filenameprefix = "RechNrName"
oMailMerge.execute(aProps())