Domino 9 und frühere Versionen > ND8: Entwicklung

Betreff und Uhrzeit aus Mail auslesen

(1/2) > >>

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