メッセージが返信または拒否されると、その前に ----元のメッセージ---- などを配置することで、前のスレッドが新しいメールに追加されます。
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 と古いメッセージの間にあるのは double だけvbCrLf
です。メッセージに新しい行を入力したときと同じ..何もユニークではありません!