Wenn Sie das LibreOffice Forum nutzen, dann spenden Sie bitte und helfen uns das Forum zu erhalten!
💚 Das LibreOffice Forum braucht Ihre Hilfe! 💚
DANKE >><< DANKE

Ihre Spende wird für die Deckung der laufenden Kosten der kommenden 12 Monate sowie den Ausbau 🌱 des LibreOffice Forums verwendet.
🌷 Stand: 92 Spenden. Bisher höchste Spende: 250 Euro!!! 43% fehlen uns noch bis zum Spendenziel 🌷
💚 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 💚
🤗 VIELEN DANK AN ALLE SPENDER - NUR DANK EUCH KÖNNEN WIR DAS FORUM ERHALTEN UND WEITERENTWICKELN 🤗

Anleitung für einfache Macro-Programmierung

Alles zur Programmierung im LibreOffice.
Antworten
Rolf_V
Beiträge: 2
Registriert: Mi 2. Mär 2022, 19:09

Anleitung für einfache Macro-Programmierung

Beitrag von Rolf_V » Sa 18. Nov 2023, 20:00

Ich bin eine absoluter Neuling in Bezug auf die Macro-Programmierung für Libreoffice-Calc.
Nun habe ich ein kurzes Macro gefunden und angewendet. Wenn ich das gleiche mit dem Macro-Recorder aufzeichne, kommt ein sehr sehr langer Code heraus. Offensichtlich gibt es 2 verschiedene Sprachen.
Beispiel für die Kurzform:

Code: Alles auswählen

sub ZellenInTabellen
' Dieses Makro in einer geöffnetten Tabelle starten
myDoc = thisComponent
mySheet = myDoc.sheets(0)

mycell = mysheet.getCellByPosition(0,0)
mycell.string = "Hallo Welt"

mycell = mysheet.getCellRangeByName("$C$1")
mycell.string = "Hallo Welt"

end sub
Beispiel für die Recorderform:

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Main

End Sub


sub Macro1
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 = "$A$1"

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

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = "Hallo Welt"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())

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

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$C$1"

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

rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "StringName"
args5(0).Value = "Hallo Welt"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args5())

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


end sub
Ich würde natürlich die Kurzform bevorzugen. Wo gibt es ein komplettes und übersichtliches Verzeichnis aller Befehle für die Kurzform ?
Danke im Voraus für Eure Hilfe.


Antworten