Hallo nochmal,
ich habe das Identifizieren der RT Attachments jetzt auf folgende Methode umgestellt:
Set docCurr = dcProcessedDocs.GetFirstDocument
Do Until docCurr Is Nothing
Stop
Forall item In docCurr.Items
If ( item.Type = RICHTEXT ) Then
emObArr = item.EmbeddedObjects
If Isarray(emObArr) Then
Forall o In item.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Call o.Remove
flag = True
End If
End Forall
If flag = True Then
If docCurr.Save(True, False) = True Then
' msgbox "ois klar"
End If
End If
End If
End If
End Forall
Set docCurr = dcProcessedDocs.GetNextDocument(docCurr)
Loop
Wenn dieses Script läuft seh ich im Debugger schön, wie es durch die Items des Docs läuft, den Item Typen identifiziert, die Objekte des gefundenen RT Items nach Typ identifiziert und die Attachments entfernt.
Sofern etwas entfernt wurde, wird anschliessend auch gespeichert.
Der Fehler ist nun jedoch, dass die Anhänge noch an dem Dokument sind, nur ausserhalb des Bodyfelds unter einem schwarzen Strich dargestellt werden. Sie lassen sich auch nachwievor anzeigen usw. Es ist also nur der Bezug zum RT Item verloren gegangen.
Der Witz:
Wenn ich das script aus der Designerhilfe wie folgend verwende, läuft das Löschen des Anhangs perfekt...
Dim rtitem As Variant
Dim object As NotesEmbeddedObject
'...set value of doc...
Set rtitem = docCurr.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
Set object = rtitem.GetEmbeddedObject( "Anfrage.doc" )
Call object.Remove
Call docCurr.Save( True, True )
End If
Ich bin ratlos...
:-