Hallo Frank,

ich bin zwar auch noch nicht so ganz firm in Sachen OpenOffice.org Basic, aber 
zumindest ein paar Anmerkungen zu Deinem Makro:
> 
> Sub UpdateURLField
> ' Event: Soll aus der E-Mailadresse den Domainteil ausfiltern und in
> ' das Feld URL schreiben
> 
> Dim oDoc, oForm, oField

Du legst hier Variablen fest ohne sie genauer zu beschreiben. OpenOffice 
versteht jetzt alles nach dem Allroundmuster "Variant". Das kann meines 
Wissens die Laufzeit und den Speicherbedarf von Makros hochtreiben (bei so 
einem kleinen Makro wohl eher nicht der Fall). Durch die Benennung "oDoc" 
sagst Du aber sprachlich schon aus, dass Du meinst, ein Object vor Dir zu 
haben ("o"). Also stattdessen:
Dim oDoc as Object
Dim oForm as Object
> 
>       oDoc = thisComponent
>       oForm = oDoc.drawpage.forms.getbyindex(0)
>       oField = oForm.getByName("txtURL")

Kürzer geht's hier nur mit 
oField = thisComponent.drawpage.forms.getbyindex(0).getByName("txtUrl")

>       oField.Text = "neuer Text"

Hast Du einmal versucht, den Inhalt abzuspeichern? Wenn Du dahinter eine 
Datenbank liegen hast wirst Du vielleicht den geänderten Text anschließend gar 
nicht wiederfinden, vielleicht sogar den vorherigen Text vorfinden, der aber 
gar nicht mehr angezeigt wird. Dann funktioniert das Ganze besser mit
oField.BoundField.updateString("neuer Text")

Und jetzt noch kürzer, aber meiner Meinung nach immer unübersichtlicher:

thisComponent.drawpage.forms.getbyindex(0).getByName("txtUrl").BoundField.updateString("neuer
 
Text")

... also alles in einerZeile ohne überhaupt eine Variable vorher zu 
deklarieren.
> End Sub
>

Gruß

Robert

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an