Domino 9 und frühere Versionen > ND8: Entwicklung
Betreff und Uhrzeit aus Mail auslesen
zapfbay:
Hallo zusammen!
Ich stehe, glaube ich mal wieder gewaltig auf dem Schlauch!
Ich bin dabei einen Agenten zu schreiben, der aus eingehenden Emails das Sendedatum (DeliveredDate) und den Betreff (Subject) auslesen soll. Anschließend soll er die Anhänge der Mails auf c:\ speichern und die Dateien nach folgendem Muster umbenennen: DATUM_BETREFF_DATEINAME
Das mit dem Lösen der Anhänge bekomme ich ja noch hin, aber wie ich da jetzt Datum und Betreff reinbekomme ist mir als blutiger Anfänger ein Rätsel.
Danke schon mal für Eure Hilfe:
--- Code: --- Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim Zeit As String
Dim Betreff As String
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
If doc.HasEmbedded Then
Set Zeit = doc.GetFirstItem("DeliveredDate")
Set rtitem = doc.GetFirstItem("Body")
If ( rtitem.Type = RICHTEXT) Then
Forall o In rtitem.EmbeddedObjects
fileCount = fileCount + 1
If ( o.Type = EMBED_ATTACHMENT ) Then
Call o.ExtractFile _
("c:\reports\"+ Zeit + "_" + Betreff + "_" + o.Source)
End If
End Forall
End If
Sleep 1
Set doc = collection.GetNextDocument(doc)
End If
Wend
collection.RemoveAll(True)
--- Ende Code ---
Gruß Markus
Peter Klett:
doc.Subject (0) ist der Titel, doc.DeliveredDate (0) das Datum (wenn der Feldname stimmt, habe es nicht überprüft).
Als formatierten String ohne Uhrzeit kannst du z.B. schreiben
zeit = Format (doc.DeliveredDate (0), "dd.mm.yyyy")
ascabg:
Hallo,
Du kannst doch nicht in eine String-Variable (Zeit) ein Objekt einer Notes-Klasse instanziieren.
Wenn dann schon so (in der etwas ausfuerlicheren Variante)
Zeit = doc.GetItemValue("DeliveredDate")(0)
Andreas
Axel:
Auf die entsprechenden Felder kannst du mit doc.Subject(0) und doc.DeliveredDate(0) zugreifen. Den Rückgabewert des Datumsfeldes kannst du mit dem Format-Befehl erst in eine Zeichenkette umwandelt und dabei noch entspreched formatieren. Damit kannst du dann den Dateinamen zusammenbauen.
Axel
ascabg:
Und wenn schonmit dem Format-Befehl, dann wuerde ich in Bezug auf die Verwendung in einem Dateinamen dieses Format bevorzugen.
Zeit = Format(doc.GetItemValue("DeliveredDate")(0), "ddmmyyyy")
Andreas
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln