Ich brauche (leider) insgesamt 3 Drucker für verschiedene Jobs. Nun will ich aber durch einen Button (mit hinterlegtem Makro) aber das immer nur ein bestimmter Drucker angewählt wird. Wie kann ich das machen? Ich habs schon probiert aber leider wird immer der zuletzt verwendete Drucker angesteuert.. und ich kann diesen Drucker auch nicht als Standard festlegen....
Hallo bernhard,
probiere es doch mal mit den folgenden beiden Makros:
::::::::::::::::::::::::::::::::::::::
sub DruckerX
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Printer"
args1(0).Value = "XXXXXXXXXXXXXXX"
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Copies"
args2(0).Value = 1
args2(1).Name = "Collate"
args2(1).Value = false
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())
end sub
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sub DruckerY
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Printer"
args2(0).Value = "YYYYYYYYYYYYYYY"
dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args2())
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Copies"
args1(0).Value = 1
args1(1).Name = "Collate"
args1(1).Value = false
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args1())
end sub
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
herzlichen Dank Matthias - klappt super.. endlich nicht mehr die tausend drucker einzeln auswählen.. klasse...
jetzt mal gleich ne dumme frage nachher... leider kann ich noch nix programmieren.. werd mich aber mal langsam einlesen.. ist ja sehr interessant...
Kann ich, wenn ich anstatt drucker speichern angebe und anstatt dem drucker namen einen Speicherpfad hinterlege dann auch automatisch dort speichern???