如何在 Outlook 中“回复所有人”并保留原始附件?

如何在 Outlook 中“回复所有人”并保留原始附件?

我如何在 Outlook 中执行“回复所有人”,但将原始附件重新发送给所有人?

答案1

显然,没有 VBA 代码是不行的。这是我发现的可以做到这一点的东西。(来源

描述:此 Outlook VBA 示例创建并显示对当前打开或选定的消息(包括原始消息中的附件)的回复。

Sub ReplyWithAttachments()
    Dim rpl As Outlook.MailItem
    Dim itm As Object

    Set itm = GetCurrentItem()
    If Not itm Is Nothing Then
        Set rpl = itm.Reply
        CopyAttachments itm, rpl
        rpl.Display
    End If

    Set rpl = Nothing
    Set itm = Nothing
End Sub

Function GetCurrentItem() As Object
    Dim objApp As Outlook.Application

    Set objApp = Application
    On Error Resume Next
    Select Case TypeName(objApp.ActiveWindow)
        Case "Explorer"
            Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
        Case "Inspector"
            Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
    End Select

    Set objApp = Nothing
End Function

Sub CopyAttachments(objSourceItem, objTargetItem)
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set fldTemp = fso.GetSpecialFolder(2) ' TemporaryFolder
   strPath = fldTemp.Path & "\"
   For Each objAtt In objSourceItem.Attachments
      strFile = strPath & objAtt.FileName
      objAtt.SaveAsFile strFile
      objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
      fso.DeleteFile strFile
   Next

   Set fldTemp = Nothing
   Set fso = Nothing
End Sub

代码注释:

  1. 使用GetCurrentItem()功能返回当前选择或显示的项目。

  2. 使用CopyAttachments()程序将附件复制到回复中。

  3. 如果您希望回复所有人,请替换itm.Reply为。itm.ReplyAll

(哦,我在网上搜索“在 Outlook 中回复所有带有附件的内容”时花了大约 30 秒找到了这个)。

答案2

可能的解决方案:

首次发送此邮件的人打开“已发送邮件”文件夹,打开邮件并选择操作 — “重新发送此消息...”再次。

相关内容