Standarddrucker wechselt nach Makro-Ausführung

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Standarddrucker wechselt nach Makro-Ausführung

Re: Standarddrucker wechselt nach Makro-Ausführung

von Musashi0815 » Di, 08.11.2011 09:25

Gast hat geschrieben:
komma4 hat geschrieben:Gebe beim "zweimalDrucken" nochmals den Namen des Druckers mit.

Code: Alles auswählen

dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Copies"
args1(0).Value = 2
args1(1).Name = "Collate"
args1(1).Value = true
args1(2).Name = "Printer"
args1(2).Value = "Kyocera FS-1118MFP NW-FAX"

Hilft das?
Hilft schon.

Ist aber leider nicht so optimal, da ja immer wenn sich der Standarddrucker ändert (Bei Drucker-Tausch, oder ähnliches), das Makro anpepasst werden muss.
Bzw. ich das Makro für jeden Benutzer einzeln anlegen muss, da die Drucker bei jedem Benutzer anders heißen.

Gibt es da nicht eine allgemeine Lösung?
Das das Makro immer den Standard-Windowsdrucker nimmt?


Gruß
0815
War natürlich ein Eintrag von mir :)

Keiner 'ne Ahnung?


Gruß
0815

Re: Standarddrucker wechselt nach Makro-Ausführung

von komma4 » Mi, 02.11.2011 17:09

Gebe beim "zweimalDrucken" nochmals den Namen des Druckers mit.

Code: Alles auswählen

dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Copies"
args1(0).Value = 2
args1(1).Name = "Collate"
args1(1).Value = true
args1(2).Name = "Printer"
args1(2).Value = "Kyocera FS-1118MFP NW-FAX"

Hilft das?

Standarddrucker wechselt nach Makro-Ausführung

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

Nach oben