Manchmal liefern Funktionen Dokumente zurück, die entweder schon gelöscht sind, oder grundsätzlich ungültig oder "irgendwie da" aber ohne jegliche Items. Deshalb nutze ich in solchen Fällen immer mindestens die Abfrage "isDeleted" und "isValid", manchmal auch isArray( doc.Items). Weil ich das nicht jedesmal tippen will, habe ich eine eigene Funktion dafür:
Function IsValidDocument( doc As NotesDocument ) As Boolean
On Error Goto ErrorRoutine
'===================================================================================================================================
IsValidDocument = False
If Not doc Is Nothing Then
If doc.Isvalid Then
If Not doc.Isdeleted Then
If Isarray( doc.Items ) Then
IsValidDocument = True
End If
End If
End If
End If
'===================================================================================================================================
EndOfRoutine:
Exit Function
ErrorRoutine:
Resume EndOfRoutine
End Function
Und dann in Deinem Beispielcode:
While Not (respDoc Is Nothing)
If IsValidDocument(respDoc) Then
'mach was
Call mySub(respDoc)
End If
Set respDoc = coll.GetNextocument(respDoc)
Wend
Ich hoffe, Du hast nur fürs Forum einen Fehler eingebaut, weil Deine While- Abfrage auf
myDoc is Nothing entspricht nicht der inneren Verarbeitung von
respDoc