Inputfelder per Makro füllen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Inputfelder per Makro füllen

Re: Inputfelder per Makro füllen

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?

Inputfelder per Makro füllen

von oSIRus » Fr, 29.06.2007 11:34

Hallo zusammen,

ich möchte per Makro Inputfelder (werden insges. ca. 10 verschiedene) im geöffneten (Writer-) Dokument füllen, und zwar mit Strings, die das Makro per Kommandozeile übergeben bekommt. Was ich bereits geschafft habe ist das entsprechende Dokument zu öffnen und dieses als PDF abzuspeichern. Nur habe ich keinen Plan wie ich die Inputfelder ansprechen bzw. füllen kann bzw. über welche Methode ich die Inputfelder vorher überhaupt einbinden muss in mein Dokument (habe da von 2 versch. Methoden gelesen).

Da ich absoluter Anfänger im Bereich Open Office Basic bin, bin ich für jede Hilfestellung dankbar.

Vielen Dank und viele Grüße,

oSIRus

Nach oben