🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Drucken per Makro - ich kapiers nicht...

Alles zur Programmierung im LibreOffice.
Antworten
Kistenschieber
Beiträge: 3
Registriert: Do 30. Jan 2014, 13:56

Drucken per Makro - ich kapiers nicht...

Beitrag von Kistenschieber » Do 30. Jan 2014, 16:10

Hallo Forum,

zu meiner Wenigkeit ist zu sagen das ich von Programmierung quasi nichts verstehe.
Ich hangel mich halt von Problemlösung zu Problemlösung.

Aktuell nervt mich folgendes:

Ich wollte ein Makro aufzeichnen das, eigentlich ganz simpel, auf Mausklick die aktuell gewählte Tabelle in Calc 4x druckt.
Wenn ich den Makrorekorder benutze und aufzeichne wie ich im "Datei drucken" Dialog die entsprechenden Einstellungen vornehme funktioniert das ganze überhaupt nicht.
Als Workaround habe ich dann aufgezeichnet wie 4x das Schnell / Direktdruck Icon angeklickt wird.
Mit durchwachsenem Erfolg. Der Druck funktioniert so zwar, aber da die Prozedur 4x aufgerufen wird (und das auf einem langsamen Netzwerkdrucker) dauert das ganze elend lange.

Wenn ich das aufgezeichnete Makro richtig interpretiere wir der eigentliche Druckauftrag hier angestossen:

Code: Alles auswählen

dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
Da muss es doch irgendwo die Möglichkeit geben die Anzahl der Kopien als Argument mitzugeben?

Zum Einsatz kommt übrigens LO 3.6

Wahrscheinlich ist die Lösung mal wieder so einfach, das ich den Wald vor lauter Bäumen nicht sehe...

Über Lösungsvorschläge würde ich mich freuen.

Gruß

Kistenschieber

Pit Zyclade
* LO-Experte *
Beiträge: 3041
Registriert: Mo 12. Nov 2012, 16:59

Re: Drucken per Makro - ich kapiers nicht...

Beitrag von Pit Zyclade » Do 30. Jan 2014, 19:02

Ich bin vorlaut und ebenfalls kein Experte in Sachen Programmierung. Aber unter Win würde ich den Druck übers Menü weählen und den Druckertreiber auf 4x hochschrauben. Dazu benötige ich kein Programm. Aber wenn es ein Programm unbedingt sein soll und keine Schleife für 4x infrage kommt, dann mußt Du Dich zum gewählten Befehl belesen, ob es eine Option gibt.
Entschuldige, falls ich Dich genervt habe.

Habs gelesen. PrintDefault hat keine solche Option. Nimm Print(von,bis,Kopienanzahl). Kannst Du nachlesen:
http://oootools.free.fr/macro_ooo/doc/D ... lemand.pdf
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

Kistenschieber
Beiträge: 3
Registriert: Do 30. Jan 2014, 13:56

Re: Drucken per Makro - ich kapiers nicht...

Beitrag von Kistenschieber » Fr 31. Jan 2014, 08:14

Hallo Pit Zyclade,

danke für den Link, sowas hatte ich bisher vergeblich gesucht.
(Die Sache mit dem Wald und den Bäumen...)

Werd auf jeden Fall versuchen mich da durch zu beißen.

Das ganze findet übrigens unter Linux statt, hier könnte ich zwar einen Drucker anlegen der per default 4 Kopien pro Auftrag druckt, aber den könnte ich auf dem bisherigen Weg auch nur als Standarddrucker ansprechen.
Mit der Konsequenz das aus anderen Anwendungen immer unnötig viele Kopien gedruckt würden...

Manchmal dreht man sich echt im Kreis.

Nochmals Danke.

Gruß

Kistenschieber

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Drucken per Makro - ich kapiers nicht...

Beitrag von karolus » Fr 31. Jan 2014, 10:35

Hallo

Wie wärs mit einem schlichtem:

Code: Alles auswählen

...
for dummy = 0 to 3
     dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
next dummy
Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Pit Zyclade
* LO-Experte *
Beiträge: 3041
Registriert: Mo 12. Nov 2012, 16:59

Re: Drucken per Makro - ich kapiers nicht...

Beitrag von Pit Zyclade » Fr 31. Jan 2014, 18:49

Hallo karolus,

Dein Vorschlag ist ja die berühmte Schleife. Die aber wollte er nicht, weil dann der Druckvorgang mehrmals angestoßen wird und das Zeit kostet (wenn ich ihn richtig verstanden habe). Das ist bei mir unter Win ebenso. Wenn man Zeit sparen will, muß man den Drucker zwingen, das bereits Verdaute mehrfach zu drucken. Unter Win geht das mit dem Druckertreiber einfach. Dies aber wollte er mit makro realisieren. Du kannst das sicher, ich nicht...
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Drucken per Makro - ich kapiers nicht...

Beitrag von F3K Total » Fr 31. Jan 2014, 23:55

Hi,
so sollte es gehen:

Code: Alles auswählen

Sub Print_4_Pages
    dim printProps(1) as new com.sun.star.beans.PropertyValue
    printProps(0).name = "Wait"
    printProps(0).Value = true
    printProps(1).name = "CopyCount"
    printProps(1).Value = 4
    Thiscomponent.Print(printProps())
End Sub
Anbei ein Beispiel
Gruß R
Dateianhänge
Print_n_Pages.ods
(12.98 KiB) 290-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

Kistenschieber
Beiträge: 3
Registriert: Do 30. Jan 2014, 13:56

Re: Drucken per Makro - ich kapiers nicht...

Beitrag von Kistenschieber » Mo 3. Feb 2014, 12:09

@karolus: Danke für den Lösungsvorschlag, aber das behebt ja leider nicht das ursprünliche Problem des mehrfachen Senden eines Druckauftrages.

@F3K Total: Diese Lösung funktioniert perfekt, der Nachteil ist ich blicke nicht so ganz durch :-)
Dem Makro wird, wenn ich das richtig verstehe, quasi ein Argument (Anzahl der Kopien) übergeben (In der Beispieldatei "Print_n_Pages.ods").
Das geht irgendwie über das Event (klick auf den entsprechenden Button).
Wie weise ich einem Button so ein Event (und einen entsprechenden Wert) zu?

Sorry falls ich nerve, aber mit der Lösung hast du mich jetzt neugierig gemacht.

Gruß

Kistenschieber

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Drucken per Makro - ich kapiers nicht...

Beitrag von F3K Total » Mo 3. Feb 2014, 17:02

Kistenschieber hat geschrieben:Wie weise ich einem Button so ein Event (und einen entsprechenden Wert) zu?
Gehe in den Entwurfsmodus, markiere einen Button, rechte Maus->Kontrollelement.
Es gibt bis zu drei Reiter.
Allgemein -> Zusatzinformation (.tag) hier steht die Druckanzahl
Daten, hat der Button nicht
Ereignisse, da wird das Makro zugeordnet.

HTH R
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten