Von VB6 email als gelesen markieren u. filtern

Ich muss ein Notes Postfach durchsuchen und bei bestimmtem Betreff den Anhang lösen, soweit ok, der code folgt unten.

Mein Problem : wie kann ich bearbeitete Mails als „gelesen“ markieren und auch nur die ungelesenen filtern ?
Auch wäre es gut die mail anschliessend in einen anderen Ordner zu verschieben.

Für Hilfe wäre ich sehr dankbar !

„.isnewNote“ liefert bei mir immer false und lässt sich nicht setzen - ist readonly !

Ich habe einen Notes Client 5.0.11

Dim db As Object
Dim session As Object
Dim doc As Object
Dim collection As Object
Dim Benutzer As String
Dim tempsubject As Variant
Dim tempSendTo As Variant
Dim tempFROM As Variant
Dim tempPostedDate As Variant
Dim tempCopyTo As Variant
Dim tempBlindCopyTo As Variant
Dim View As Object
Dim item As Variant
Dim v As Variant
Dim att As Variant
Dim sServer As String

Benutzer = „name“
sServer = „“
Set session = CreateObject(„Notes.NotesSession“)
Set db = session.GetDatabase(sServer, „mail“ + Benutzer + „.nsf“)
Set View = db.GetView("($Inbox)")
Set doc = View.GetFirstDocument
While Not (doc Is Nothing)
tempsubject = doc.subject
If UCase(tempsubject(0)) = „GEWUENSCHTER_BETREFF“ Then
If doc.HasItem("$File") Then
For Each item In doc.Items
If LCase(item.Name) = „$file“ Then
v = item.Values
If IsArray(v) Then
Set att = doc.GetAttachment(v(LBound(v)))
If Not (att Is Nothing) Then
Call att.ExtractFile(„c:“ & v(0))
End If
End If
End If
Next
'??? als gelesen markieren …
’ und oder in anderen Ordner verschieben …
End If
End If
Set doc = View.GetNextDocument(doc)
Wend

Hallo,

das mit dem view.getfirstdocument…dann das dokument verschieben und als nächstes mit view.getnextdocument(doc) auf das folgende document in der ansicht zugreifen wird nicht funktionieren. irgendwie kommt notes dann mit den dokumenten durcheinander wenn eins fehlt. ich würde ein nicht vorhandenes feld in dem document erzeugen und dann mit einem zweiten agenten darauf abfragen und eine collection daraus machen. dann kann man mit collection.putallinfolder alle gewünschten dokumente verschieben…mal grob drüber nachgedacht! :wink:

grüße,
marcus

Ich muss ein Notes Postfach durchsuchen und bei bestimmtem
Betreff den Anhang lösen, soweit ok, der code folgt unten.

Mein Problem : wie kann ich bearbeitete Mails als „gelesen“
markieren und auch nur die ungelesenen filtern ?

Mit den „richtigen“ Ungelesen-Markierungen (unread marks) geht das leider nicht. Du müsstes dir selbst ein Feld ausdenken, etwa MeinAgentIstSchonMalGelaufen, das auch nicht in der Maske vorkommen braucht.

Dann holst du dir mit

Dim neueDokumenteColl As NotesDocumentCollection
neueDokumenteColl = db.Search(„Form = „„Memo““ & @UpperCase(Subject) = „„GEWÜNSCHTER_BETREFF““ & MeinAgentIstSchonMalGelaufen != „„ja“““, Nothing, 0)

die Menge aller neuen Mails. Diese am Besten mit

Set doc = neueDokumenteColl.GetFirstDocument/GetNextDocument(doc)

durchlaufen.
Dabei in jedem Dokument das Markierungsfeld setzen und das Dokument speichern:

Call doc.ReplaceItemValue(„MeinAgentIstSchonMalGelaufen“, „ja“)
Call doc.Save(True, True)

Auch wäre es gut die mail anschliessend in einen anderen
Ordner zu verschieben.

Wenn du möchtest, kannst du dann anschließend alle Dokumente in der Menge mit

Call neueDokumenteColl.PutAllInFolder(Ordnername)

in einen Ordner verfrachten.

Für Hilfe wäre ich sehr dankbar !

„.isnewNote“ liefert bei mir immer false und lässt sich nicht
setzen - ist readonly !

Die Eigenschaft ist wahr für noch nicht gespeicherte Dokumente, also sichtlich nichts, was man in einer Ansicht findet.

Ich habe einen Notes Client 5.0.11