Ich habe mal alles zusammengestrichen, was in der aktuellen Version benutzt wird und nicht funktioniert, oder noch gar nicht genutzt wird.
Dann solltest du schon mal eine erste Testversion haben, fehlt natürlich noch einiges u. a. die Fehlerbehandlung.
Es geht hier nur mal darum, das Du einen speicherbaren und testbaren Code hast, dann bekommst Du schneller ein Gefühl dafür.
Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim newsletter As NotesNewsLetter
Dim doc As NotesDocument
Dim Wiedervorlage As NotesDateTime
Dim search As String
Set session = New NotesSession
Set db = session.CurrentDatabase
Set Wiedervorlage = New NotesDateTime(Now)
Call Wiedervorlage.Adjustmonth(-1)
search = {Form = "NameDerForm" & REMINDED != "1"} ' Name der Form hier setzen!
Set dc = db.Search(search, Wiedervorlage, 0)
If (dc.Count > 0) Then
Set newsletter = New NotesNewsLetter(dc)
Set doc = newsletter.FormatMsgWithDoclinks(db)
Call doc.Replaceitemvalue("Form", "Memo")
Call doc.Replaceitemvalue("From", session.Username ) ' test only
Call doc.Replaceitemvalue("SendTo", session.Username ) ' test only
Call doc.Replaceitemvalue("Subject", "Wiedervorlage Fortbildung(en)")
Call doc.Send(False)
Call dc.Stampall("REMINDED", "1")
End If
Testcode ohne Gewähr.
Hallo,
Set vWiedervorlage = New NotesDateTime(doc.Wiedervorlage(0))
Wo genau nochmal weißt Du Doc ein Dokument zu? Ist der Code wirklich vollständig?
Die Zeilen passen irgendwie nicht zu der Zeilenangabe in der Fehlermeldung.
Bye,
Markus
Kommentiere mal die folgende Zeile aus, oder lösche sie;
Set vWiedervorlage = New NotesDateTime(doc.Wiedervorlage(0))
Ausserdem nicht
search = ((Form = "Fortbildung") & (month(vWiedervorlage)=month(today)) & (year(vWiedervorlage)=year(today))) ' Name der Form hier setzen!
sondern
search = {Form = "Fortbildung" & @month(vWiedervorlage)=@month(@today) & @year(vWiedervorlage)=@year(@today)} ' Name der Form hier setzen!
Das sollte Dich schon mal einen Schritt weiter bringen.