Helfen Sie uns bitte noch HEUTE!

❤️ DANKE >><< DANKE ❤️

Vielen Dank für Ihre SPENDE.

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

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

Alles zur Programmierung im LibreOffice.
Antworten
Rolf_V
Beiträge: 12
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.


An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten