Seite 1 von 1

suche Hilfe für ein Makro - ERLEDGT

Verfasst: Mi 13. Feb 2013, 19:19
von Elbfischer
Hallo zusammen,

ich bin auf der Suche nach jemandem, der mir ein kleines Makro schreibt, das folgendes bewirkt:

1. umschalten auf einen speziellen Drucker (WinFax)
2. Druckauftrag an WinFax absetzen
3. auf den Standardrucker zurücksetzen

Ich hatte schon mal in OpenOffice so ein Makro aufgezeichnet und zum Laufen gebracht:

Code: Alles auswählen

sub WinFax
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 = "WinFax"

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 ----------------------------------------------------------------------
wait 5000 'unterbricht für 5 sec 
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
Dieses Makro meldet mir jetzt unter LO 3.6.4 leider nur BASIC-Syntaxfehler. Ein neuerlich unter LO direkt aufgezeichnete Makro sieht praktisch identisch aus (bis auf die wait 5000 Zeile) und läuft ebenfalls in diesen Fehler.

Kann mir hier vielleicht irgend jemand helfen?

Ich würde mich riesig freuen!

Liebe Grüße
Elbfischer

Re: suche Hilfe für ein Makro

Verfasst: Do 14. Feb 2013, 01:41
von gogo
da ich auf den ersten Blick keinen Syntaxfehler erkennen kann:
Wie lautet denn Die Fehlermeldung - und wir dabei auf eine Zeile im Makro verwiesen und: wie startes Du das Makro?

Re: suche Hilfe für ein Makro

Verfasst: Do 14. Feb 2013, 17:45
von Elbfischer
Hi gogo,

danke für Dein Interesse! Und sorry, dass ich nicht schon ausführlicher geschrieben habe. Ich hatte zuerst einen völlig anderen Ansatz für meine Frage und habe diesen zwar geändert, aber die dann nötigen Infos völlig vergessen.

Also:

1. der Fehler tritt auf, egel wie ich das Makro starte (übers Menü Makro > ausführen, übers Menü Makro > bearbeiten und dann dort ausführen, mittels Klick auf ein mit dem Makro gekoppeltes Icon);

2. die 2 aufeinanderfolgenden Fehlermeldungen erscheinen jedoch über Menü Makro > ausführen nur einmal, bei den anderen Startarten drei- bzw. viermal nacheinander;

3. hier sind 2 Screenshots der Fehlermeldungen 1 und 2, die sich dann ggf. noch wiederholen:
Syntax-Fehler1.jpg
Syntax-Fehler1.jpg (29.79 KiB) 6151 mal betrachtet
Syntax-Fehler2.jpg
Syntax-Fehler2.jpg (23.36 KiB) 6151 mal betrachtet
Zu guter letzt noch eine Gegenfrage:

welche Voraussetzungen müssen denn erfüllt sein, damit das Makro überhaupt ausgeführt werden kann? Ich hatte die Python / UNO-Unterstützung mit installiert, ist das okay?

Wäre toll, wenn Du (oder auch jemand anders) mir auf die Sprünge helfen könnte.

Schönen Abend noch,
Elbfischer

Re: suche Hilfe für ein Makro

Verfasst: Do 14. Feb 2013, 19:58
von F3K Total
Hallo,
die Dispatcher-Befehle (aufgezeichnete Makros) sollen in Libre Office problematisch sein.
Versuch mal dieses Makro:

Code: Alles auswählen

sub WinFax
    printerprops = thiscomponent.printer
    printerprops(0).Name = "Name"
    printerprops(0).Value = "WinFax"
    thiscomponent.printer = printerprops
    thiscomponent.print(printerprops)
    wait 5000 'kann man vielleicht auch weglassen, musste mal probieren
    printerprops(0).Name = "Name"
    printerprops(0).Value = "StandardDrucker"
    thiscomponent.printer = printerprops
end sub
Gruß R

Re: suche Hilfe für ein Makro

Verfasst: Do 14. Feb 2013, 23:14
von Pit Zyclade
hallo,
Entschuldigt, wenn ich mich einmische:
Unter LO 3.6.5.2 looft das originale Makro, wobei ich mal meine vorhandenen Drucker anstelle von WinFax eingefügt habe.
Sollte dieser "Fehler" nur unter 3.6.4 auftreten?

Gruß

Re: suche Hilfe für ein Makro

Verfasst: Do 14. Feb 2013, 23:20
von Pit Zyclade
Und noch was:
Unter Optionen->LibreOffice-Allgemein ist das Häkchen bei "experimentelle (instabile) Funktionen" gesetzt?

Re: suche Hilfe für ein Makro

Verfasst: Do 14. Feb 2013, 23:39
von gogo
der Haken bei den instabilen Funktionen wird's wohl sein, der Dispatcher ist ein bisserl instabil ... aber nicht so viel wie anderes ;)

Ansonsten:
Ein Fehler bei der Variablendeklaration kommt in Deinem ersten Post nicht vor - schmeiss die 2 dim-Zeilen mal raus (aber nicht die unten wo die Argumente deklariert sind (dim args...))

Re: suche Hilfe für ein Makro

Verfasst: Fr 15. Feb 2013, 17:40
von Elbfischer
Hallo zusammen,

und vielen Dank für Euer Interesse und die Hilfe(versuche).

Also an dem Haken hats wohl nicht gelegen.

Auch das Auskommentieren der dim-Zeilen hat nicht geholfen. Dann kamen die Fehlermeldungen in einer der folgenden Zeilen usw. usw.

MEIN persönlicher Schluss ist: das stimmt wohl was mit der UNO-Unterstützung nicht, vielleicht ist das beim Installieren doch nicht mit reingekommen oder ich habs abgewählt. Aber bei 'ner Änderungsinstallation sagt er mir, dass UNO bereits mit installiert ist. Weiß der Teufel. Ich werd's demnächst mal mit 'ner Neu-Installation versuchen und dabei genau notieren, welche Optionen ich wähle bzw. abwähle.

Was aber wirklich auf Anhieb läuft, ist das Makro von F3K Total; 1000 Dank dafür!

Und zur Info: die wait 5000-Zeile wurde seinerzeit nach Makro-Aufzeichnung mal manuell zugefügt, weil sonst ein Fehler auftrat (welcher weiß ich nicht mehr genau). Auf jeden Fall lief das Makro ohne zu schnell und konnte die "Rückschaltung" auf den Standarddrucker nicht mehr vornehmen.

Nochmals vielen Dank für Eure Hilfe!

Schönes Wochenende noch,
Elbfischer

Re: suche Hilfe für ein Makro - ERLEDGT

Verfasst: Fr 15. Feb 2013, 20:14
von gogo
stimmt BASIC<=>UNO macht des öfteren Probleme...