Beiträge von Barnieske

    Den Typ habe ich geändert.
    In der Zeile
    Forall o In rtitem.EmbeddedObjects
    kommt jedoch trotzdem noch "Type mismatch". Bisher dacht ich immer das die Fehlermeldung darauf hinweist, das die Var nicht korrekt declariert ist. Oder?
    Habe auch schon probiert über NotesDokument Class zu gehen, jedoch auch ohne Erfolg.

    Einen guten morgen euch allen.
    Anbei ein Auszug aus dem momentan aufgebauten code. Ich muss diesen noch entsprechend erweitern, wenn ich den Namen des Anhang gefunden habe.


    Wenn ich das Script mir noch einmal im Debuger anschaue bring er mit ein separates Item mit dem Namen "Attechment". Normalerweise sollte doch ein Anhang, sofern ich über Notes maile immer im Bodyfeld enthalten sein, oder?



    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim rtitem As Variant
    Dim nam As NotesName
    Dim obj As NotesEmbeddedObject
    Dim objName As String

    Set db = session.CurrentDatabase
    Set view = db.getView("Inbox")
    Set doc = View.GetFirstDocument

    While Not (doc Is Nothing)
    If doc.HasEmbedded Then
    i = 1
    Set rtitem = doc.GetFirstItem("body")
    If ( rtitem.Type = RICHTEXT ) Then
    Forall o In rtitem.EmbeddedObjects
    If ( o.Type = EMBED_ATTACHMENT ) Then
    'Name des Dateianhang soll hier verglichen werden
    End If
    End Forall
    Set doc = view.GetNextDocument(doc)
    End If
    Wend

    Wäre zu schön gewesen. Der RichtextItem Name passt und wir auch gefunden. Zeile 5 ist noch OK im Debuger. Nur mit Zeile 6ff habe ich ein Problem. Muss ich die Var "o" deklarieren?
    Habs mit Variant probiert. Ohne Erfolg.

    Du meinst sicherlich dieses, oder?


    (1)Dim doc As NotesDocument
    (2)Dim rtitem As Variant
    (3)'...set value of doc...
    (4)Set rtitem = doc.GetFirstItem( "Body" )
    (5)If ( rtitem.Type = RICHTEXT ) Then
    (6) Forall o In rtitem.EmbeddedObjects
    (7) If ( o.Type = EMBED_ATTACHMENT ) Then
    (8) Call o.ExtractFile( "c:\samples" & o.Source )
    (9) Call o.Remove
    (10) Call doc.Save( False, True )
    (11) End If
    (12) End Forall
    (13)End If


    Was mach der mit der Laufvar. "o"?
    Bei mir komme ich nichteinmal über die Zeile 6 hinaus.
    Irgendwie klappt das alles bisher nicht so richtig.


    Grüße Barnie

    Hallo zusammen,


    auch auf die Gefahr hin das die Antwort schon mehrfach gepostet wurde stell ich meine Frag trotzdem.


    Über die Eigeschaft "Name" bzw. "Source" der Klasse "NotesEmbeddedObject" soll der Name eines Anhangs ausgelesen werden.
    Leider wird dies, in der Hilfe, lediglich über das Objekt durchgeführt wo der Name beireits angegeben werden muss.


    Set object = rtitem.GetEmbeddedObject( "City picture" )
    sourceName = object.Source


    Wie soll das gehen? Wenn ich den Namen des Anhangs bereits habe brauch iich diesen nicht zwangsläufig ermitteln, oder?


    Wahrscheinlich steht bei mir einfach gerade einer aus der Leitung.


    Vielen Dank.


    Grüße Barnie