当一条消息被回复或转发时,前一个线程会被附加到您的新邮件中,方法是在它前面放置 ie ----Original Message---- 。
Outlook 对 tekst 邮件执行相同的操作,但对于 HTML 邮件,它会显示一行,后跟 From:..
由于 Outlook 在这些消息之间显示了一条线,我相信可以使用 VBA 减去这些消息。但是如何?
目标:当用户发送邮件(Application_ItemSend)时,我想扫描邮件中的某些单词。但我不在乎它是否出现在以前的消息中,我只想扫描新输入的消息。
下面的示例将在 Outlook 中以文本形式回复电子邮件时起作用(并且 Outlook 是英文的!)。但它在发送 HTML 电子邮件时不起作用。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim EndOfMsg As Integer
Dim myMsg as String
EndOfMsg = InStr(Item.Body, "-----Original Message-----")
If EndOfMsg = 0 Then
myMsg = Item.Body
Else
myMsg = Left(Item.Body, EndOfMsg)
End If
MsgBox myMsg
End Sub
所以我需要一些“令牌”来分裂,正确..但是这个令牌是什么?myMsg 和旧的 msg 之间只有一个 double vbCrLf
。就像我在消息中输入新行时一样.. 没有什么独特的!