🙏 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. 🤗

Per Makro Zahlen aus einer Spalte in eine andere kopieren

Alles zur Programmierung im LibreOffice.
Antworten
berndz2001
Beiträge: 6
Registriert: Di 26. Aug 2014, 21:47

Per Makro Zahlen aus einer Spalte in eine andere kopieren

Beitrag von berndz2001 » Di 26. Aug 2014, 22:11

Guten Abend zusammen,
ich bin kein Makroprogrammierer und habe mir mit der Aufzeichnungsfunktion in einer Tabelle Makros aufgezeichnet, die Daten kopieren oder in eine andere Sortierreihenfolge bringen.
Ein Makro soll Daten aus einer Spalte kopieren und in eine andere einfügen. Dieses hat in einer frühen 4er-Version gut gearbeitet, verweigert aber jetzt in der Version 4.2.6.2 seine Arbeit.
Das Makro sieht folgendermaßen aus:

Code: Alles auswählen

sub Uebertrag_Wahl1_Setzung
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 = "ToPoint"
args1(0).Value = "$F$10:$F$400"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$I$10"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())


end sub
Nun habe ich versucht, das Makro in der neuen Version erneut aufzuzeichnen und während der Aufzeichnung werden die Daten auch in der Zielspalte eingefügt. Rufe ich das Makro anschließend per "Extras-Makros-Makro ausführen" oder über eine Schaltfläche auf, passiert nichts mehr. Das neu aufgezeichnete Makro hat den gleichen Aufbau wie mein erster Versuch.
Ich würde mich freuen, wenn mir hier jemand helfen könnte.

Schon jetzt vielen Dank.
Bernd
Grüße.
Bernd

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

Re: Per Makro Zahlen aus einer Spalte in eine andere kopiere

Beitrag von F3K Total » Di 26. Aug 2014, 22:23

Moin,
das Makro läuft bei mir unter LO 4.2.6 und Windows 7 ohne Probleme.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

berndz2001
Beiträge: 6
Registriert: Di 26. Aug 2014, 21:47

Re: Per Makro Zahlen aus einer Spalte in eine andere kopiere

Beitrag von berndz2001 » Di 26. Aug 2014, 22:52

Hallo R,
besten Dank für deine schnelle Antwort.

Ich stelle gerade fest, dass der gepostete Code nicht vollständig war. Hier noch einmal der komplette Schnipsel:

Code: Alles auswählen

sub Uebertrag_Wahl1_Setzung
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 = "ToPoint"
args1(0).Value = "$F$10:$F$400"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$I$10"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())


rem ----------------------------------------------------------------------
args3(0).Name = "ToPoint"
args3(0).Value = "$C$10"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())


end sub
Ich habe jetzt den Teil ganz unten mal entfernt

Code: Alles auswählen

rem ----------------------------------------------------------------------
args3(0).Name = "ToPoint"
args3(0).Value = "$C$10"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
und das Makro ausgeführt und siehe da, es geht wieder. :?:
Woran liegt's?
Danke für deinen Anstoß.
Gruß.
Bernd
Grüße.
Bernd

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

Re: Per Makro Zahlen aus einer Spalte in eine andere kopiere

Beitrag von F3K Total » Di 26. Aug 2014, 23:00

Auch der vollständige Code läuft problemlos, nur das der Fokus am Ende auf Zelle C10 gesetzt wird.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

berndz2001
Beiträge: 6
Registriert: Di 26. Aug 2014, 21:47

Re: Per Makro Zahlen aus einer Spalte in eine andere kopiere

Beitrag von berndz2001 » Di 26. Aug 2014, 23:07

Danke für die Rückmeldung.
Ich habe noch etwas mit dem Schalter "gespielt". Wenn ich bei dem Kontrollfeld das Ereignis von "Aktion ausführen" auf "Maustaste gedrückt" ändere, läuft das Makro wieder wie früher. :?: Vielleicht haben die Programmierer an den Ereigniseinstellungen etwas geändert.
Hauptsache es funktioniert wieder. :-)
Gute Nacht.
Bernd
Grüße.
Bernd

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

Re: Per Makro Zahlen aus einer Spalte in eine andere kopiere

Beitrag von F3K Total » Mi 27. Aug 2014, 06:02

Na, da hast du einen Bug gefunden. Aktion ausführen funktioniert tatsächlich nicht.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

berndz2001
Beiträge: 6
Registriert: Di 26. Aug 2014, 21:47

Re: Per Makro Zahlen aus einer Spalte in eine andere kopiere

Beitrag von berndz2001 » Mi 27. Aug 2014, 08:24

Sollte ich den melden? Habe so etwas noch nie gemacht.
Wie geht das?

Grüße.
Bernd
Grüße.
Bernd

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

Re: Per Makro Zahlen aus einer Spalte in eine andere kopiere

Beitrag von karolus » Mi 27. Aug 2014, 10:21

F3K Total hat geschrieben:Na, da hast du einen Bug gefunden. Aktion ausführen funktioniert tatsächlich nicht.
Gruß R
Das Ereignis "Aktion ausführen" sollte meinem Erachtens nur benutzt werden wenn unter 'Allgemein' eine "Aktion" <>'keine' benutzt wird ??
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


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