2016-08-04 8 views
0

Ich möchte alle Themen, die in einer Kettenpost enthalten sind.Breaking einzelne E-Mail-Informationen und alle enthaltenen Mails abrufen

Szenario: Wir erhalten eine E-Mail (angenommen, 10 Personen erhalten es), dann von diesen Leuten antwortet jemand auf alle und dann antwortet eine andere Person auf alle. Am Ende oder der letzten E-Mail, die ich erhalte, werden 3 Mails in einer einzigen Mail zusammengefasst. Elternpost, dann zwei Antworten. Was ich will, ist, die Information zu erhalten, wer zuerst auf diese E-Mail und dann auf die zweite Antwort geantwortet hat. Oder wenn wir diese E-Mail in drei separate E-Mails aufteilen können. Bitte geben Sie an, wo Sie anfangen sollen.

Antwort

0

Ich habe einen Weg, es zu tun, indem Sie den E-Mail-Körper in ein Array gefunden, nachdem sie durch Register Aufspalten und dann die Suche „Betreff:“, dass sie in eine Schleife, indem. Code, den ich verwendet habe, ist unten.

Dieser Code 1. nimmt die ausgewählte Mail auf und übergibt sie dann.

Set olapp = GetObject(, "Outlook.Application") 
Set olmail = olapp.ActiveExplorer.Selection(1) 



msg_body = Split(olmail.Body, Chr(13)) 

MsgBox UBound(msg_body) 

For i = 0 To UBound(msg_body) 

If InStr(msg_body(i), "Subject:") <> 0 Then 
MsgBox msg_body(i) 
End If 
Next i 

Sie können drucken oder die Anzahl dieser verwenden, um zu ermitteln, wie viele Mails in der Kette vorhanden sind.

0

Der folgende Code wurde getestet. Es ist eine Funktion, die ein MailItem als Argument übernimmt und ein Array zurückgibt, das die Themen enthält.

Function ReturnSubjects(o As Outlook.MailItem) As Variant 

Dim v As Variant, b As String, i As Integer, ii As Integer, y As Integer 
ReDim v(1 To 1, 1 To 1) 
y = 1 
v(1, 1) = o.Subject 

b = o.Body 

i = InStr(b, "Subject: ") 

Do While i > 0 

    ii = InStr(Mid(b, i), vbCrLf) 
    If ii = 0 Then Exit Do 


    y = y + 1 
    ReDim Preserve v(1 To 1, 1 To y) 

    v(1, y) = Mid(b, i, ii) 
    b = Mid(b, i + ii) 
    i = InStr(b, "Subject: ") 

Loop 

ReturnSubjects = v 

End Function 
+0

Ich versuche dies und werde kommentieren, wenn es funktioniert – Mohit

+0

Ich @kelaref Ich habe versucht, Ihren Code, aber es hat nicht funktioniert. Ich habe etwas ähnliches Konzept ausgearbeitet, das ich unten beantwortet habe, wenn Sie interessiert sind. – Mohit