Я хочу сохранить электронную почту в своей локальной папке, и я увидел эту ссылку 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
Она сохраниласообщение успешно, но, как уже упоминалось, сохранено только сообщение предварительного просмотра / отображения, а не отправленное письмо.
Большое спасибо за помощь.