Ich bin neu bei OO Basic, obwohl ich Open Office schon seit längerem verwende. Mein Programmierkenntnisse beinhalten PHP und JavaScript und jeweils ein bisschen von C++, Java und Perl.
An meine Lehrstelle möchte man bald umstellen von MS Office auf Open Office. Da kommt es gerade gelegen dass ich Open Office auch privat verwende (alle Anderen haben noch nie etwas davon gehört). Bei dieser Umstellung müssen auch massenhaft Word Templates übersetzt werden in das Open Office Writer Template Format. An sich kein Problem, währen da nicht die Makros. Diese Makros sind mit VBA programmiert, womit ich aber noch nie programmiert habe. Deshalb lerne ich jetzt aber StarBasic für Open Office.
Nachdem ich mich etwas umgesehen habe, möchte ich ein Makro wie folgt erstellen:
1) in einer FOR-Schleife werden alle Textfelder die in einem Dokument angebracht wurden durchlaufen und wird ein Name gegeben (dieser Name besteht aus einem Buchstaben und eine Zahl die sich bei jedem Durchlauf der Schleife um eins erhöht)
2) jedes Textfeld wird dabei auch ein Listener hinzugefügt
3) bei einem Klick auf einem Textfeld wird dessen Inhalt gelöscht und der Zeiger wird am Anfang des Textfeldes gesetzt
Bisher habe ich schon folgendem Code:
Code: Alles auswählen
Sub assign_names
Const NameStringPart as String = “field”
Dim NameNumberPart as Integer
Dim oFrames as Object
NameNumberPart = 0
oFrames = StarDesktop.CurrentComponent.getTextFields()
Dim I
For I = LBound(oFrames) to UBound(oFrames)
Dim NameCombination_local as String
NameCombination_local = NameStringPart + NameNumberPart
oFrames(I).Name = NameCombination_local
NameNumberPart = NameNumberPart + 1
Next I
End Sub