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]