Hallo alle zusammen,
für Arbeitsblätter in der Schule benötige ich ein Macro, welches eine A5 Seite verdoppelt und dann nebeneinander auf einer A4-Seite ausdruckt bzw. in eine Datei schreibt.
Von Hand geht das wunderbar:
Im Druckdialog gibt man unter den zu druckenden Seiten “1,1” an, beim
Seitenlayout stellt man “2 Seiten pro Blatt” ein und unter Optionen klickt
man “Nur die Papiergröße der Druckereinstellungen verwenden” an.Wenn man unter Optionen auch noch “Drucken in Datei” anklickt,
wird eine entsprechende PDF-Datei erzeugt.
Nun habe ich mit dem Macro-Recorder und bescheidenen Programmierkenntnissen erfolglos versucht, ein entsprechendes Macro zu schreiben.
In wiki.openoffice.org/…/Printing_Text_Documents sind letztlich alle notwendigen Aspekte aufgeführt, insbesondere mit Blick auf den letzten Satz und den darin enthaltenen “Filename” und “Pages”.
The method printPages() prints the document according to the previous settings. The argument for the
printPages() method may contain the PrintOptions as described in the section above (containing the
properties CopyCount, FileName, Collate and Pages).
Intensive Recherche im Netz hat mich auch nicht weitergebracht, ein Beispiel zu nup-Druck habe ich gefunden, dies funktioniert aber nicht. Die Seiten werden einzeln ausgedruckt:
Sub PrintTwoPerPage
Dim Props(0 To 1) As New com.sun.star.beans.PropertyValue
Props(0).Name = "PageColumns" : Props(0).Value = 2
Props(1).Name = "IsLandscape" : Props(1).Value = True
If HasUnoInterfaces(ThisComponent, "com.sun.star.text.XPagePrintable") Then
ThisComponent.setPagePrintSettings(Props()) '
ThisComponent.printPages(Array()) 'Use default properties
Else
Print "Sorry, this document does not support the XPagePrintable interface"
End If
End Sub
Für Hinweise wäre ich sehr dankbar.
Gruß
Tobias