Man kann auf Datenfelder über die Enumeration der Textfelder eines Dokumentes erreichen.
Innerhalb der Numeration muss man nur auf den Service prüfen.
Bei diesem kann dann mit den Textfieldmasters der Datenbankname geändert werden.
Sub databasechange
Doc = ThisComponent
TextFelderEnumration = Doc.getTextFields.createEnumeration
While TextFelderEnumration.hasMoreElements()
TextField = TextFelderEnumration.nextElement()
If TextField.supportsService("com.sun.star.text.TextField.Database")
Then
textfield.textfieldmaster.databasename="Neuer Name"
end if
Wend
end sub
Man darf sich aber nicht verwirren lassen. Nach dem Makro wird beim Überfahren mit
der Maus
noch die alte Datenbank angezeigt. Geht man aber mit Doppelklick auf das Feld oder noch mal
in "Datenbank austauschen" sieht man die Verknüpfung zu der neuen Datenbank. Wenn das
Dokument speichert und wieder öffnet wird die neue Datenbank angezeigt.