So, nun läufts.
Ist sicherlich noch nicht so elegant gelöst, hat aber in den Tests gut funktioniert.
Für alle, die es interessiert, hier mein Code:
Dim nab As NotesDatabase
Dim mailDB As NotesDatabase
Dim personCol As NotesDocumentCollection
Dim personDoc As NotesDocument
Dim data As Variant
Dim item As NotesItem
Dim OoOProfile As NotesDocument
Dim server As Variant
Sub Initialize
Set nab = New NotesDatabase("XXX", "names.nsf") 'XXX durch Server ersetzen, von dem das NAB ausgelesen werden soll
Set personCol = nab.AllDocuments
Set personDoc = personCol.GetFirstDocument
While Not (personDoc Is Nothing)
data = personDoc.GetItemValue("MailFile")
If (Instr(data(0), "mail")=1) Then 'Nur Einträge verarbeiten, die im Verzeichnis mail oder mail-in liegen
Print data(0)
server = personDoc.GetItemValue("MailServer")
Set mailDB = New NotesDatabase(server(0),data(0))
Set OoOProfile = mailDB.GetProfileDocument( "OutOfOfficeProfile" )
OoOProfile.ReplaceItemValue"ExcludeInternetEmail","1"
OoOProfile.Save 1,1,1
End If
Set personDoc = personCol.GetNextDocument(personDoc)
Wend
End Sub
Am Montag werde ich das über alle unsere Mail-Datenbanken laufen lassen. Sofern ich dabei doch noch böse Überraschungen erlebe, werde ich das hier posten.
Thomas