Wert einer Variablen zuweißen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

manu-b
Beiträge: 3
Registriert: Fr, 28.01.2005 12:55

Wert einer Variablen zuweißen

Beitrag von manu-b »

moin liebe OOo community...

gibt es eine möglichkeit einer über einfügen -> feldbefehl -> andere -> variablen variable einen wert per macro zu geben?

ich habe das ganze schon mit eingabefeldern realisiert, nun soll das noch mit einer variablen funktionieren, da der benutzer nicht die möglichkeit haben soll dies zu ändern...mein script für eingabefelder sieht wie folgt aus (ist von lotus, da ich das ganze für die übergabe von notes in ein oo dok machen muss)

Code: Alles auswählen

...
		Set objServiceManager = CreateObject("com.sun.star.ServiceManager")
		Set objDesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop") 
		Set objDocument = objDesktop.CurrentComponent()	
		'Textobjekt erstellen
		Set objText= objDocument.getText()
		
		Dim FeldForm List As String
		'Name der Eingabefelder
		FeldForm(0)="Bezeichnung"
		FeldForm(1)="Typ"
		FeldForm(2)="Kategorie"
		
		Forall f In FeldForm
			Set Felder = objDocument.getTextFields()
			Set Feldaufzaehlg = Felder.createEnumeration()
			
			Do While Feldaufzaehlg.hasMoreElements()
				Set Feld = Feldaufzaehlg.nextElement()
				service =  "com.sun.star.text.TextField.Input"
				
				If Feld.supportsService(service) And feld.hint=f Then
					wert=uidoc.FieldGetText(f)
					'Print "Variablenprüfung:" & Chr(10) & "Feld: " & Feld.hint & " | f: " & f & " | Wert: " & wert 'Variablen stimmen
					Feld.Content=wert
				End If
				
			Loop		
			
		End Forall		
		Call Felder.Refresh()
...
das script funktioniert...nur wie gesagt, würde die werte gerne variablen zuweißen...

danke
...am 26.1.2005 wurde mir nicht nur ein board genommen, sondern auch ein paar freunde...
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

So ist TextField definiert:

Code: Alles auswählen

TextFieldEnum = ThisComponent.getTextFields.createEnumeration
TextField = TextFieldEnum.nextElement()
Alle Textfelder durchlaufen und das richtige finden anhand es Variablennamens:

Code: Alles auswählen

TextField.VariableName
Und neuen Wert setzen:

Code: Alles auswählen

TextField.setPropertyValue("Content" ,"8")
Alle Felder aktualisieren.


Gruß
Stephan
Antworten