Vba Outlook-自动转发带有原始附件的电子邮件

Vba Outlook-自动转发带有原始附件的电子邮件,vba,email,outlook,Vba,Email,Outlook,我已经看到这个问题贴了好几次了,但是在仔细研究之后,我没有找到一个成功的答案 我正在尝试为Outlook创建一个脚本,该脚本自动将带有附件的电子邮件转发回发件人,并更新包含原始附件的邮件。一切正常,但无论我做什么,我都无法转发附件。如果我只使用.Forward,则不包括附件。如果我尝试使用.Attachment属性,它会破坏脚本 代码: Microsoft Outlook(以及Gmail、Yahoo等其他电子邮件引擎)的设计方式如下: 回复邮件时,收件人不需要与发件箱中的附件相同的附件(除非已删

我已经看到这个问题贴了好几次了,但是在仔细研究之后,我没有找到一个成功的答案

我正在尝试为Outlook创建一个脚本,该脚本自动将带有附件的电子邮件转发回发件人,并更新包含原始附件的邮件。一切正常,但无论我做什么,我都无法转发附件。如果我只使用.Forward,则不包括附件。如果我尝试使用.Attachment属性,它会破坏脚本

代码:

Microsoft Outlook(以及Gmail、Yahoo等其他电子邮件引擎)的设计方式如下:

  • 回复邮件时,收件人不需要与发件箱中的附件相同的附件(除非已删除)。它还节省了服务器上的存储空间和网络带宽
  • 当邮件被转发时,通常会转发给至少一个新用户,因此所有内容保持原样(即附件不会被删除)
  • 因此,请使用此代码。它遵循上述规则#2,即无论何时转发电子邮件,附件都将自动附加

    Sub ForwardEmail(item As Outlook.MailItem)
      Dim oMail As MailItem    
    
      On Error GoTo Release
    
      If item.Class = olMail Then
         Set oMail = item.Forward
         oMail.Subject = ("APPROVED - ") & Item.Subject
         oMail.HTMLBody = "Your timesheet has been approved." & vbCrLf &  oMail.HTMLBody
         oMail.Recipients.Add Item.SenderEmailAddress
    
         oMail.Save
         oMail.Send
      End If
     Release:
      Set oMail = Nothing
      Set oExplorer = Nothing
    End Sub
    

    原始电子邮件的附件或将原始电子邮件附加到新电子邮件?其想法是,电子邮件将始终发送回原始发件人,并且必须包含附件。这段代码似乎没有解决这个问题。我需要使用行“oMail.Recipients.Add oMail.SenderEmailAddress”。您能帮忙吗?@user3654518:请使用更新后的代码,并尝试理解默认情况下电子邮件转发包含附件。所以,我们的想法是转发电子邮件并更改主题、正文和收件人列表。
    Sub ForwardEmail(item As Outlook.MailItem)
      Dim oMail As MailItem    
    
      On Error GoTo Release
    
      If item.Class = olMail Then
         Set oMail = item.Forward
         oMail.Subject = ("APPROVED - ") & Item.Subject
         oMail.HTMLBody = "Your timesheet has been approved." & vbCrLf &  oMail.HTMLBody
         oMail.Recipients.Add Item.SenderEmailAddress
    
         oMail.Save
         oMail.Send
      End If
     Release:
      Set oMail = Nothing
      Set oExplorer = Nothing
    End Sub