von Musashi0815 » Mi, 02.11.2011 16:17
Hallo zusammen,
folgendes Problem:
Ich habe 2 neue Makros erstellt.
- Makro zum Drucken über ein Fax, hier ist der Drucker explizit hinterlegt (Name: Faxen)
- Makro zum 2mal Drucker auf Standardrucker (Name: zweimalDrucken)
Anbei der Makro-Code:
Code: Alles auswählen
sub Faxen
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 = "Kyocera FS-1118MFP NW-FAX"
dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args1())
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 = true
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())
end sub
sub zweimalDrucken
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(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Copies"
args1(0).Value = 2
args1(1).Name = "Collate"
args1(1).Value = true
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args1())
end sub
Wenn ich nun zweimalDrucken ausführen, druckt er korrekt auf dem im Windows eingestellten Standardrucker.
Führe ich dann Faxen aus druckt er auf dem eingestellten Kyocera FS-1118MFP NW-FAX.
Führe ich dann wieder zweimalDrucken aus, druckt er wieder auf dem Kyocera FS-1118MFP NW-FAX. Jedoch soll er auf dem Windows-Standarddrucker
drucken.
Den Drucker auch explizit im Makro zu hinterlegen ist ja auch dämlich, da bei einem Drucker-Tausch o.Ä. das Makro immer wieder angepasst werden muss.
Ich hoffe Ihr könnt mir weiterhelfen.
Vielen Dank
Gruß
0815
Hallo zusammen,
folgendes Problem:
Ich habe 2 neue Makros erstellt.
- Makro zum Drucken über ein Fax, hier ist der Drucker explizit hinterlegt (Name: Faxen)
- Makro zum 2mal Drucker auf Standardrucker (Name: zweimalDrucken)
Anbei der Makro-Code:
[code]
sub Faxen
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 = "Kyocera FS-1118MFP NW-FAX"
dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args1())
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 = true
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())
end sub
sub zweimalDrucken
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(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Copies"
args1(0).Value = 2
args1(1).Name = "Collate"
args1(1).Value = true
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args1())
end sub[/code]
Wenn ich nun zweimalDrucken ausführen, druckt er korrekt auf dem im Windows eingestellten Standardrucker.
Führe ich dann Faxen aus druckt er auf dem eingestellten Kyocera FS-1118MFP NW-FAX.
Führe ich dann wieder zweimalDrucken aus, druckt er wieder auf dem Kyocera FS-1118MFP NW-FAX. Jedoch soll er auf dem Windows-Standarddrucker
drucken.
Den Drucker auch explizit im Makro zu hinterlegen ist ja auch dämlich, da bei einem Drucker-Tausch o.Ä. das Makro immer wieder angepasst werden muss.
Ich hoffe Ihr könnt mir weiterhelfen.
Vielen Dank
Gruß
0815