Moin
Einfach über die Items des Notesdokuments loopen.
ForAll itm In doc.Items
If itm.isauthors Then
itm.isauthors=False
itm.isreaders = true
End if
End forall
Viel zu kompliziert.. Der Umweg über die Form- Fields ist -wie bereits oben geschildert- nicht nur unnötig sondern auch gefährlich.
Auch das erstellen eines "container- dokuments" um Deine Werte zu sammeln ist totaler overkill.
Die Funktion sieht in der Minimalform so aus (kann noch performance- optimiert werden, weil Redim nicht optimal ist, aber sollte kaum relevant sein):
Function Arch_Get_RW_fields (f_doc) As Variant
Dim tmpArr() as String
Dim i as Integer
Forall item in doc.Items
if item.isAuthers = True Then
redim preserve tmpArr(i)
tmpArr(i) = item.Name
i = i + 1
End If
End Forall
Arch_Get_RW_fields = tmpArr
End function
Der Code ist nur so "runtergeschrieben" und enthält sicherlich Tipp- Fehler. Ausserdem fehlt natürlich ein error- handling ohne das ich keine Zeile Code schreiben würde...
Aber die Idee sollte klar sein.