von Elbfischer » Di, 30.10.2007 11:04
Hallo zusammen,
bitte entschuldigt, wenn mein erster Beitrag (besser: meine erste Frage) nicht gleich voll den Ton hier treffen sollte.-
Ich wende mich langsam aber sicher immer mehr von M$ ab und Open Source-Software zu. Zur Zeit habe ich als BS allerdings immer noch Windows XP SP2.
Vor einigen Tagen habe ich mir OpenOffice.org 2.3 runtergeladen und installiert und inzwischen auch schon 'ne Menge rumprobiert. Ich muß sagen: toll. Alles da, was man von M$ kennt, teilweise etwas anders realisiert und auch auf anderem Wege erreichbar, aber eben alles da und teilweise sogar mehr. Also bisher gefällt mir - zumindest der Writer - das Programm sehr sehr gut!
Natürlich habe ich inwischen schon versucht, ein In Word vorhandenes Makro in OOo nachzubilden, indem ich die erforderlichen Schritte aufgezeichnet habe. Dieses Makro soll den Druckauftrag an einen anderen als den Standarddrucker senden und dann wieder zurückschalten auf den Standarddrucker:
Code: Alles auswählen
REM ***** BASIC *****
Sub Main
End Sub
sub Druck2
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 = "FaxDruckerTreiber"
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 = false
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Printer"
args3(0).Value = "StandardDrucker"
dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args3())
end sub
Ich hoffe, das Einfügen mittels "code" funktioniert dann gleich auch.......
Leider hat das Makro eine Macke: es läßt den Writer reproduzierbar abstürzen. Durch Auskommentieren der letzten "dispatcher......"-Zeile konnte ich erreichen, daß der Writer nicht mehr abstürzt. Allerdings wird dann natürlich auch nicht mehr auf den Standarddrucker zurückgeschaltet und der nächste Klick auf den (Standard-)Druckbutton startet wieder das Faxprogramm.......
Kann mir vielleicht jemand hier helfen und auf den richtigen Weg bringen? Ich bin zwar kein absoluter Programmier-Laie, aber mit OOo-Basic noch absolut unvertraut und deshalb noch etwas hilflos.
Also hier nochmal eine hoffentlich klare Formulierung meines Anliegens:
Ich benötige ein Makro, das vom Standarddrucker umschaltet auf das Faxprogramm (WinFax), das Dokument dorthin ausdruckt und anschließend wieder auf den Standarddrucker (Canon Pixma) zurückschaltet, ohne daß der Writer sich verabschiedet.
Ich bedanke mich schon einmal herzlichst im voraus für Eure freundliche Hilfe.
Gruß,
Elbfischer
Hallo zusammen,
bitte entschuldigt, wenn mein erster Beitrag (besser: meine erste Frage) nicht gleich voll den Ton hier treffen sollte.-
Ich wende mich langsam aber sicher immer mehr von M$ ab und Open Source-Software zu. Zur Zeit habe ich als BS allerdings immer noch Windows XP SP2.
Vor einigen Tagen habe ich mir OpenOffice.org 2.3 runtergeladen und installiert und inzwischen auch schon 'ne Menge rumprobiert. Ich muß sagen: toll. Alles da, was man von M$ kennt, teilweise etwas anders realisiert und auch auf anderem Wege erreichbar, aber eben alles da und teilweise sogar mehr. Also bisher gefällt mir - zumindest der Writer - das Programm sehr sehr gut!
Natürlich habe ich inwischen schon versucht, ein In Word vorhandenes Makro in OOo nachzubilden, indem ich die erforderlichen Schritte aufgezeichnet habe. Dieses Makro soll den Druckauftrag an einen anderen als den Standarddrucker senden und dann wieder zurückschalten auf den Standarddrucker:
[code]
REM ***** BASIC *****
Sub Main
End Sub
sub Druck2
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 = "FaxDruckerTreiber"
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 = false
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Printer"
args3(0).Value = "StandardDrucker"
dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args3())
end sub
[/code]
Ich hoffe, das Einfügen mittels "code" funktioniert dann gleich auch.......
Leider hat das Makro eine Macke: es läßt den Writer reproduzierbar abstürzen. Durch Auskommentieren der letzten "dispatcher......"-Zeile konnte ich erreichen, daß der Writer nicht mehr abstürzt. Allerdings wird dann natürlich auch nicht mehr auf den Standarddrucker zurückgeschaltet und der nächste Klick auf den (Standard-)Druckbutton startet wieder das Faxprogramm.......
Kann mir vielleicht jemand hier helfen und auf den richtigen Weg bringen? Ich bin zwar kein absoluter Programmier-Laie, aber mit OOo-Basic noch absolut unvertraut und deshalb noch etwas hilflos.
Also hier nochmal eine hoffentlich klare Formulierung meines Anliegens:
Ich benötige ein Makro, das vom Standarddrucker umschaltet auf das Faxprogramm (WinFax), das Dokument dorthin ausdruckt und anschließend wieder auf den Standarddrucker (Canon Pixma) zurückschaltet, ohne daß der Writer sich verabschiedet.
Ich bedanke mich schon einmal herzlichst im voraus für Eure freundliche Hilfe.
Gruß,
Elbfischer