Libre Office

Anleitung für einfache Macro-Programmierung [GELÖST]

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

Anleitung für einfache Macro-Programmierung [GELÖST]

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.
Zuletzt geändert von Rolf_V am Sa 24. Feb 2024, 23:49, insgesamt 1-mal geändert.

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2287
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Anleitung für einfache Macro-Programmierung

Beitrag von miesepeter » So 19. Nov 2023, 11:00


Open Office
Antworten