ich drucke aus einem Base Formular mittels Makro Serienbriefe. Der Druck läuft im Hintergrund, soweit funktioniert alles.
Nun möchte ich manchmal auch Kopien der Briefe ausdrucken und da klemmt es bei mir.
LibreOffice 4.1.5.3. openSUSE 13.1
Hier das Makro (Auszug):
Code: Alles auswählen
SUB Brief_zusammenstellen
	DIM aProps()
	dim printProp(1) AS NEW com.sun.star.beans.PropertyValue
	DIM oMailMerge AS OBJECT
	DIM oDoc AS OBJECT
	DIM sDBName 
	DIM sURL 
	DIM sDatei 
	DIM sFrage AS STRING
	DIM sSQL_delRech AS STRING	
	DIM oResultSet AS OBJECT	
	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
' Abfrage = "1", Tabelle = "0", direkte SQL-Eingabe = "2" . 
	oMailMerge.CommandType = 1 
	oMailMerge.Command = "Ab_RechDruck"
	oMailMerge.Filter = """KAuswahl"" = " + TRUE + " AND ""RechDruck"" is null" 
	
' eine Datei für jede Adresse = "2", Ausgabe an Drucker = "1"
	sFrage = "Die Serienbriefe sind zusammengestellt" + chr(13)+_
			 "Sollen sie jetzt ausgedruckt werden?"  + chr(13)+_
			 " "  + chr(13)+_
			 "Falls nein, können Sie im nächsten" + chr(13)+_
			 "Schritt gespeichert werden!" 
' falls Ja geklickt, Serienbriefe an Drucker senden	   	 
	IF  MsgBox (sFrage, 292, "Meldung") = 6 THEN  ' 6 = ja
		oMailMerge.OutputType = 1
		IF  MsgBox ("KOPIEN DRUCKEN?", 292, "Meldung") = 6 THEN  ' 6 = ja
     		    printProp(0).Name = "CopyCount"
    		    printProp(0).Value = 2     ' Kopienzahl
   		   oMailMerge.PrintOptions = printProp()
		END IF
.... hier anderer Code zum Speichern der Briefe  .....
	oMailMerge.OutputUrl = sURL             ' Linux und Windows muß funktionieren
	oMailMerge.FileNameFromColumn = True
' wie soll die jeweilige Datei heißen
	oMailMerge.Filenameprefix = "TName"
	oMailMerge.execute(aProps())
END SUBEs funktioniert statt der "printProps" den Befehl "oMailMerge.execute(aProps())" nach der Frage "Kopien drucken?" nochmal ausführen zu lassen, aber das ist einerseits nicht schön, andererseits lerne ich nichts dabei. Und vielleicht werden auch mal 2 Kopien gebraucht.
Kann mir jemand weiterhelfen?
Gruß
acco