Automatisch mit einem Macro aus verschiedenen Papierfächern drucken

Ich würde gerne aus einem Dokument mithilfe von Formatvorlagen aus verschiedenen Papierfächern drucken.
Dafür habe ich bereits ein Macro, welches die Formatvorlage für einseitige Dokumente anpasst.
Das Problem ist nun, dass ich beispielsweise die erste Seite aus dem ersten Papierfach und die weiteren aus dem zweiten Papierfach drucken.
Da ich keine direkte Funktion dafür gefunden habe, habe ich mehrere Formatvorlagen angelegt, wenn diese jedoch nacheinander ausgegeben angepast und gedruckt werden sollen, wird immer direkt alles aus dem zweiten gedruckt.

Mein derzeitiges Makro:
Attribute VB_Name = “Mehrere-Seiten”
sub DruckMehrereSeiten
rem ----------------------------------------------------------------------
rem define variables
dim document1 as object
dim document2 as object
dim dispatcher1 as object
dim dispatcher2 as object
rem ----------------------------------------------------------------------
rem get access to the document
document1 = ThisComponent.CurrentController.Frame
document2 = ThisComponent.CurrentController.Frame
dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)
rem ----------------------------------------------------------------------
rem --------------------------- Erste Seite ---------------------------
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = “Template”
args2(0).Value = “Druck1”
args2(1).Name = “Family”
args2(1).Value = 8

dispatcher.executeDispatch(document1, “.uno:StyleApply”, “”, 0, args2())

dispatcher.executeDispatch(document1, “.uno:PrintDefault”, “”, 0, Array())

rem ----------------------------------------------------------------------
rem -------------------------- Zweite Seite --------------------------
rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = “Template”
args3(0).Value = “Druck2”
args3(1).Name = “Family”
args3(1).Value = 8

dispatcher.executeDispatch(document2, “.uno:StyleApply”, “”, 0, args3())

dispatcher.executeDispatch(document2, “.uno:PrintDefault”, “”, 0, Array())

end sub

Hast Du das aufgezeichnet, oder aus 2 aufgezeichneten Macros zusammengesetzt?
.
Ich würde erwarten, dass das gesamte Dokument zweimal gedruckt wird, da ich an keiner Stelle eine Einschränkung des Bereichs auf Seite1 / Seite2 sehe (ausser im Kommentar, aber der wird von BASIC nicht interpretiert).
.
Testen kann ich das bei mir nicht, da ich zwar auf verschiedene Drucker drucken kann, aber die jeweils nur ein Papierfach haben…

Falls es sich um eine Briefvorlage handelt mit vorgedruckten Bögen als erste Seite und Normalpapier für die anderen Seiten: Den Briefbogen in den manuellen Einzug. Der Rest wird aus dem normalen Fach gezogen. Ganz ohne Makro.

Vielen Dank für die Antwort.
Ich habe ein aufgezeichnetes Macro bearbeitet.
Und ja derzeit wird das Gesamte Dokument zweimal gedruckt, da die Einschränkung noch nicht drin ist.
Mit dieser werde ich mich im Anschluss befassen, da derzeit bei beiden Druckaufträgen das Template Druck2 verwendet wird.
Daher dachte ich, dass ich diese Frage hier mal teile, ob eventuell jemand eine Idee hat, warum der erste Druck nicht mit dem Template Druck1 gedruckt wird.

Es könnte auch sein, dass die Einstellung des Papierfachs in beiden Fällen ignoriert wird…
.
Ich erinnere mich, dass ich früher Drucker in Windows doppelt angelegt habe - einmal mit monochromer Einstellung, einmal mit Farbdruck. Als Workaround könnte man bei dieser Methode eventuell auf zwei verschiedene Drucker(-einstellungen) drucken…

Ich werde das mal testen, weil das eventuell ein Woraround für die Thematik sein könnte.
Vielend Dank für die Idee.

Dann werde ich die Seiten und jeweils den Drucker angeben damit alles läuft.
Ich werde eine Rückmeldung geben, sobald ich dies vorgenommen und getestet habe.

Ab Seite 357 im Hanbuch (www.pitonyak.org/oo.php) gibt es was dazu.
Die Steuerung der Schächte ist dort auch erwähnt.
Habe mal mein abgewandeltes Makro angehängt. Dem muss man nur den Druckername und die Anzahl der Kopien übergeben. Vielleicht hilft es.

Sub Printbasic(sPrinter, CopyCount)
Dim oProps(1) As New com.sun.star.beans.PropertyValue
Dim oPrinter
oPrinter = thiscomponent.getPrinter()
For i = LBound(oPrinter) To UBound(oPrinter)
If oPrinter(i).Name = "Name" Then
oPrinter(i).Value = sPrinter
End If
Next i
REM Kopiert den Drucker zurück ins Dokument. Das Einzige, das
REM sich geändert hat, ist der Druckername.
thiscomponent.setPrinter(oPrinter)
oProps(0).Name = "Name"
oProps(0).Value = "<" & sPrinter & ">"
oProps(1).Name = "CopyCount" : oProps(1).Value = CopyCount
ThisComponent.print(oProps())
End Sub