Seite 1 von 1

Re: Mailmerge und Seitenanzahl

Verfasst: Fr, 03.02.2012 11:38
von Frieder D.
Hallo koschinskie

du kannst dem Mailmerge die ganz normalen Drucker-Eigenschaften zuweisen.

Hier der Code für die anzahl zu druckenden Exemplare:

Code: Alles auswählen

SUB AutoDruck

Dim oMailMerge as Object
Dim printProp(0) as New com.sun.star.beans.PropertyValue
  printProp(0).Name = "CopyCount" 'Anzahl zu druckende Exemplare
  printProp(0).Value = 3
  'printProp(1).Name = "Pages" ' Welche Seiten
  'printProp(1).Value = "1-3" 

id = 1 'aktueller ID-Wert muss ausgelesen werden über drawpage.forms...

oMailMerge = createunoservice("com.sun.star.text.MailMerge")
oMailMerge.DataSourceName = "pst"
oMailMerge.DocumentURL = ConvertToUrl("C:\makrotest\test.ott")
oMailMerge.CommandType = 0
oMailMerge.Command = "pst.vorgaenge"
oMailMerge.Filter = "pst.vorgaenge.id = " & id 'filter für aktuellen Datensatz
oMailMerge.OutputType = 1
oMailMerge.PrintOptions = printProp()
' oMailMerge.OutputUrl = ConvertToUrl("C:\Test\")
' oMailMerge.SaveAsSingleFile = True
oMailMerge.SinglePrintJobs = False
'*****************************************************************
Dim myPrinter(0) as new com.sun.star.beans.PropertyValue
myPrinter(0).Name = "Name"
myPrinter(0).Value = "Adobe PDF"
oMailMerge.Model.setPrinter(myPrinter)
'*****************************************************************
' oMailMerge.Model.Printer(0).Value= "FreePDF XP"
' oMailMerge.Model.Printer(0).Value = "KONICA MINOLTA 362/282/222 PS"
' oMailMerge.FileNameFromColumn = True
' oMailMerge.Filenameprefix = "Dateiname"
Dim MyProps() as Object
oMailMerge.execute(MyProps())

END SUB
Weitere Print Optionen findest du hier:
http://api.libreoffice.org/docs/common/ ... tions.html

und optionen für MailMerge findest du hier:
http://api.libreoffice.org/docs/common/ ... Merge.html

Gruß Frieder