das liegt daran, daß Du wohl das Script bereits hast laufen lassen. Denn beim ersten Lauf ist der Anhang wech, man sieht ihn aber noch optisch, da im $FIle das Attachement noch drin ist.
Mal auf die Schnelle (muß jetzt weg...nachher weiter..eventuell kannste es korrigieren):
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Dim Filename As String
Dim rtitem As Variant
Set rtitem = doc.GetFirstItem( "body" )
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Filename = o.source
Forall files In doc.items
If files.name = "$FILE" Then
If files.values(0) = Filename Then
Call files.remove
End If
End If
End Forall
Call o.ExtractFile( "c:\temp\" & o.Source )
Call o.Remove
Call doc.Save(True, True )
End If
End Forall
End If
Leider ist nach dem löschen des Eintrags in $FIle auch der spätere Bezug zum o.source weg, wenn man dann noch das Attachement löschen will. Man sollte also vorher o.source ner Variablen übergeben, damit es während des Laufs erhalten bleibt.
Hm..oder auch nicht...mal sehen, aber auf jeden Fall:
Dein Fehler lag hundert pro daran, daß das Script 2x - Nx durchgelaufen ist. Wenn einmal das Attachement weg ist,kommt umgehend der TypeMismatch!!!
Aber Achtung, wie gesagt, der Code ist noch fehlerhaft...wer macht weiter? Ich muß wehc jetzt!