Aloha
hotti hat geschrieben:Scheint so zu sein, daß 'Wahr" ist,
wenn das Textfeld nicht vorhanden ist
Nein, definitiv nicht. Die Methode ist ja eigentlich schon sprechend, was den Rückgabewert angeht, aber hier auch nochmal schwarz auf weiss
API: XNameAccess -> hasbyName
hotti hat geschrieben:If Not oTxtFeld....funktioniert leider nicht.
Natürlich funktioniert das:
Code: Alles auswählen
If NOT oTxtFeld.hasByName(User & "Geraetenummer") Then MsgBox "Das Benutzerfeld ""Gerätenummer"" nicht ist vorhanden"
Ich vermute eher, dass Dein Problem woanders liegt:
Du hast ein Benutzerfeld names "Geraetenummer" irgendwann mal definiert und danach möglicherweise auch wieder aus dem Text entfernt.
Wenn Du das Benutzerfeld allerdings nicht komplett aus dem Dokument löschst (Einfügen -> Feldbefehl -> Andere -> Variablen -> Löschen), dann wird obiger Aufruf dieses Feld auch finden.
getTextFieldMasters liefert Dir alle Felder, die in diesem Dokument definiert sind, unabhängig davon, ob sie auch tatsächlich irgendwo im Text vorkommen.
Willst Du dagegen eine tatsächlich vorhandene Instanz dieser Textfelder überprüfen, musst Du einen anderen Weg einschlagen, nämlich den über
getTextFields:
Code: Alles auswählen
oDoc = thisComponent
oTextFields = oDoc.getTextFields
enumFields = oTextFields.createEnumeration
Do While enumFields.hasMoreElements
nextField = enumFields.NextElement
If nextField.TextFieldMaster.Name = "Geraetenummer" Then
MsgBox "Benutzerfeld ""Geraetenummer"" ist vorhanden"
Exit Sub
End If
Loop