Excel VBA сохраняет электронную почту после отправки, показывает только предварительный просмотр электронной почты, а не отправленную электронную почту - PullRequest
0 голосов
/ 18 октября 2018

Я хочу сохранить электронную почту в своей локальной папке, и я увидел эту ссылку https://www.mrexcel.com/forum/excel-questions/361751-vba-saving-email-only-after-send-pushed.html, которая в основном использует модуль класса для сохранения электронной почты после ее отправки.Однако проблема в том, что сохраненная электронная почта является электронной почтой предварительного просмотра (электронная почта, которая отображается перед отправкой электронной почты) вместо отправленной электронной почты (электронная почта, в которой вы больше ничего не можете редактировать)

Dim cls_OL As New clsOutlook
Public objMail_SentMsg As Object
Public Emailpath As String

Sub SendEmail()
    Dim OutMail As Object
    Set cls_OL.obj_OL = CreateObject("Outlook.Application")
    cls_OL.obj_OL.Session.Logon
    Set OutMail = cls_OL.obj_OL.CreateItem(0)
    Set objMail_SentMsg = OutMail
    Emailpath = "V:\test\emailname.msg"
    With OutMail
    On Error Resume Next
        'Assume this all strings variables are fine
        .HTMLBody = strmsgContent1 & strmsgContent2
        .to = ToEmail
        .CC = CC
        .BCC = BCC
        .Subject = Subject
        .Display
    End With
    Set OutMail = Nothing
End Sub
Option Explicit
Public WithEvents obj_OL As Outlook.Application

Private Sub obj_OL_ItemSend(ByVal Item As Object, Cancel As Boolean)
    objMail_SentMsg.SaveAs Emailpath
    Set obj_OL = Nothing
End Sub

Она сохраниласообщение успешно, но, как уже упоминалось, сохранено только сообщение предварительного просмотра / отображения, а не отправленное письмо.

Большое спасибо за помощь.

1 Ответ

0 голосов
/ 18 октября 2018

Вместо ItemSend следите за папкой SentItems с ItemAdd.

Не сохраняйте objMail_SentMsg, сохраняйте элемент, идентифицированный ItemAdd как добавляемый в папку.

Если необходимо различать почту, чтобы небыть сохранены, установить некоторые уникальные характеристики в письме при его создании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...