Seite 1 von 1

Einfaches Makro zum Setzen einer Benutzervariablen

Verfasst: Mi, 22.04.2015 14:38
von Dr. Morgenes
Hallo,

Ich bin nicht vertraut mit OpenOffice Basic, müsste es aber nun benutzen um mein Ziel
zu erreichen, verfüge jedoch leider nicht über genügend Zeit um mich anzulernen.

Ich bräuchte ein Makro, welches ich einem Knopf zuweisen kann, das dann ein beliebiges
Feld (z.B Name "Testfeld") auf einen konstanten Wert (z.B. "Test") setzt. Ich spreche hier
von einem Benutzerfeld, wie man es in der GUI im Dialog "Feldbefehle", Registerkarte
"Variablen" setzen kann. Bei Nicht-Existenz sollte die Variable automatisch angelegt werden.

Wie würde das funktionieren bzw. wie sähe der Code dann aus?


_________________
Moderation: Thema verschoben von OOo Writer nach OOo Basic und Java, wo alle Themen zur individuellen Programmierung hingehören.—lorbass, Moderator

Re: Einfaches Makro zum Setzen einer Benutzervariablen

Verfasst: Mi, 22.04.2015 14:58
von Stephan
z.B. wenn das Benutzerfeld den Namen "meinTextFeldName" hat und auf Wert "meinNeuerText" gesetzt werden soll:

Code: Alles auswählen

Sub Main
	tmp = ThisComponent.TextFields.createEnumeration
	Do While tmp.hasMoreElements
		tf = tmp.nextElement
		if tf.supportsService("com.sun.star.text.TextField.User") And _
			tf.TextFieldMaster.Name = "meinTextFeldName" then
			tf.TextFieldMaster.Content = "meinNeuerText"
		end if
	Loop
	ThisComponent.TextFields.refresh
End Sub

Re: Einfaches Makro zum Setzen einer Benutzervariablen

Verfasst: Fr, 24.04.2015 11:45
von Dr. Morgenes
Herzlichen Dank! Ich werde es sofort ausprobieren.

Re: Einfaches Makro zum Setzen einer Benutzervariablen

Verfasst: Fr, 24.04.2015 13:48
von Dr. Morgenes
Ok, funktioniert wunderbar! Danke.