我如何在 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
代码注释:
使用
GetCurrentItem()
功能返回当前选择或显示的项目。使用
CopyAttachments()
程序将附件复制到回复中。如果您希望回复所有人,请替换
itm.Reply
为。itm.ReplyAll
(哦,我在网上搜索“在 Outlook 中回复所有带有附件的内容”时花了大约 30 秒找到了这个)。
答案2
可能的解决方案:
首次发送此邮件的人打开“已发送邮件”文件夹,打开邮件并选择操作 — “重新发送此消息...”再次。