von komma4 » Fr, 29.06.2007 12:24
oSIRus,
zwei Möglichkeiten:
Code: Alles auswählen
Sub writer_setEingabefeldNeu
vEnum = thisComponent.getTextFields().createEnumeration()
If Not IsNull(vEnum) Then
Do While vEnum.hasMoreElements()
vVal = vEnum.nextElement()
if vVal.supportsService("com.sun.star.text.TextField.Input") then
vVal.getAnchor().String = "neu"
end if
Loop
End if
End Sub
Das ersetzt das Eingabefeld durch den angegebenen Text. Damit entfallen aber die Eigenschaften des Eingabefeldes (Name, Hinweistext, Feldhinterlegung, Mauscursor-Änderung, etc.)
Eine andere Möglichkeit habe ich
hier** gefunden:
Code: Alles auswählen
Sub writer_setEingabefeldReplace
vEnum = thisComponent.getTextFields().createEnumeration()
If Not IsNull(vEnum) Then
Do While vEnum.hasMoreElements()
vVal = vEnum.nextElement()
if vVal.supportsService("com.sun.star.text.TextField.Input") then
range = vVal.getAnchor()
InputField = ThisComponent.createInstance("com.sun.star.text.TextField.Input")
InputField.Content = "<your textcontent>"
ThisComponent.Text.insertTextContent(range, InputField, False)
ThisComponent.Text.removeTextContent( vVal )
end if
Loop
End if
End Sub
** Anpassung der Variablen-Namen auf dieses Beispiel durch mich
Das erzeugt an gleicher Stelle ein neues Eingabefeld mit dem gewünschten Inhalt. Hier fehlen dann noch Code-Teile zum Sichern und Übernehmen evtl. gesetzter Eigenschaften (Name, Hinweis, ...?), falls das Eingabefeld "wie zuvor" erhalten bleiben soll.
Hilft Dir das weiter?
oSIRus,
zwei Möglichkeiten:
[code]Sub writer_setEingabefeldNeu
vEnum = thisComponent.getTextFields().createEnumeration()
If Not IsNull(vEnum) Then
Do While vEnum.hasMoreElements()
vVal = vEnum.nextElement()
if vVal.supportsService("com.sun.star.text.TextField.Input") then
vVal.getAnchor().String = "neu"
end if
Loop
End if
End Sub[/code]
Das ersetzt das Eingabefeld durch den angegebenen Text. Damit entfallen aber die Eigenschaften des Eingabefeldes (Name, Hinweistext, Feldhinterlegung, Mauscursor-Änderung, etc.)
Eine andere Möglichkeit habe ich [url=http://www.oooforum.org/forum/viewtopic.phtml?t=9964]hier[/url]** gefunden:
[code]
Sub writer_setEingabefeldReplace
vEnum = thisComponent.getTextFields().createEnumeration()
If Not IsNull(vEnum) Then
Do While vEnum.hasMoreElements()
vVal = vEnum.nextElement()
if vVal.supportsService("com.sun.star.text.TextField.Input") then
range = vVal.getAnchor()
InputField = ThisComponent.createInstance("com.sun.star.text.TextField.Input")
InputField.Content = "<your textcontent>"
ThisComponent.Text.insertTextContent(range, InputField, False)
ThisComponent.Text.removeTextContent( vVal )
end if
Loop
End if
End Sub[/code]
** Anpassung der Variablen-Namen auf dieses Beispiel durch mich
Das erzeugt an gleicher Stelle ein neues Eingabefeld mit dem gewünschten Inhalt. Hier fehlen dann noch Code-Teile zum Sichern und Übernehmen evtl. gesetzter Eigenschaften (Name, Hinweis, ...?), falls das Eingabefeld "wie zuvor" erhalten bleiben soll.
Hilft Dir das weiter?