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.
Beiträge von Barnieske
-
-
Vieleicht bringt uns der Auszug aus dem Debuger hier etwas weiter.
-
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 -
Ich fliege immer wieder an Zeile 6 mit dem Fehler Type mismatch aus der Kurve.
rtitem ist als Variant angelegt. Sonst fällt mir gerade nichts mehr dazu ein.
-
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 IfWas 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,
danke für die schnelle Antwort.
Das blöde bei der Sache ist nur das ich den Namen selber später brauche.Kannst du mir ein Beispiel für das NotesRichTextItems geben.
Vielen Dank.
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.SourceWie 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