許多用戶希望將Outlook配置為在回復電子郵件時保留原始電子郵件附件。 本文將介紹5種變通辦法以及一種聰明的方法,該方法使用VBA自動實現。
我聽到很多用戶抱怨Outlook在回復電子郵件時沒有本機功能來保留原始附件。 因此,在這裡我們將與您分享6種方法,其中一種非常有用,因為它使用VBA使Outlook自動將原始附件附加到回復電子郵件中。 現在繼續閱讀以獲取詳細信息。

1.回复並附帶原始電子郵件
儘管Outlook不提供在回復電子郵件時保留原始電子郵件附件的功能,但它允許用戶保留原始電子郵件的附件。 因此,它是您的可選解決方法。 您可以轉到“文件”>“選項”>“郵件”>“回復和轉發”部分來更改回復設置。 有關更多詳細信息,建議您參考我以前的文章-“在Outlook中使用原始附件進行回复的5個步驟”。 但是,如果您仍然希望僅保留原始附件,請繼續學習其他方法。
2.手動拖放附件
- 到tar使用,雙擊此類源電子郵件以在其自己的窗口中將其打開。
- 然後點擊“回复”按鈕,將彈出回復電子郵件。
- 接下來,您應該縮小兩個“消息”窗口,直到可以在同一屏幕上看到它們為止。
- 之後,選擇原始電子郵件中的所有附件。
- 最後,將它們拖放到回復電子郵件中的“附加”行。
3.手動複製和粘貼附件
- 首先,在打開源電子郵件之後,選擇所有附件。
- 然後單擊“附件”選項卡下的“複製”按鈕。
- 之後,單擊“郵件”選項卡下的“回复”按鈕以打開回复郵件。
- 最終,在回復電子郵件中,單擊“附加”行,然後按“ Ctrl + V”按鈕粘貼以前複製的附件。
4.轉發電子郵件並填寫收件人
- 首先,選擇這樣的電子郵件,然後單擊功能區中的“轉發”按鈕。
- 在新彈出的“消息”窗口中,保留原始附件。 現在,您需要在“收件人”字段中填寫原始電子郵件的發件人。
- (可選)您可以根據需要更改主題。
5.重新發送此電子郵件並更改收件人
- 首先,打開源電子郵件。
- 然後在“移動”組中單擊“動作”按鈕。
- 接下來,從下拉列表中選擇“重新發送此消息”。
- 也許您會收到一條警報,指出您不是原始發件人。 只需忽略它,然後單擊“是”即可。
- 在隨後的新電子郵件中,您應將“收件人”字段修改為原始電子郵件的發件人。
- 另外,請記住將使用電子郵件發送帳戶更改為您自己的帳戶。
6.通過VBA自動添加原始附件
老實說,上述所有方法都是解決方法。 如果希望Outlook在回复時可以自動保留原始附件,則可以使用這種方式。
- 在Outlook主窗口中,按“ Alt + F11”鍵。
- 然後,在“ Microsoft Visual Basic for Applications”窗口中,將下面的VBA代碼複製到“ ThisOutlookSession”項目中。
Private WithEvents objExplorer As Outlook.Explorer
Private WithEvents objInspectors As Outlook.Inspectors
Private WithEvents objMail As Outlook.MailItem
Private Sub Application_Startup()
Set objExplorer = Outlook.Application.ActiveExplorer
Set objInspectors = Outlook.Application.Inspectors
End Sub
Private Sub objExplorer_Activate()
On Error Resume Next
If TypeName(objExplorer.Selection.Item(1)) = "MailItem" Then
Set objMail = objExplorer.Selection.Item(1)
End If
End Sub
Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector)
If TypeName(Inspector.CurrentItem) = "MailItem" Then
Set objMail = Inspector.CurrentItem
End If
End Sub
'Occurs when clicking "Reply" button
Private Sub objMail_Reply(ByVal Response As Object, Cancel As Boolean)
Call KeepOriginalAttachments(objMail, Response)
End Sub
'Occurs when clicking "Reply All" button
Private Sub objMail_ReplyAll(ByVal Response As Object, Cancel As Boolean)
Call KeepOriginalAttachments(objMail, Response)
End Sub
Private Sub KeepOriginalAttachments(ByVal objOriginalMail As MailItem, objReply As Object)
Dim strEnviro As String
Dim strTempFolder As String
Dim strFilePath As String
Dim objAttachment As Outlook.Attachment
'Get the temp folder in Windows
strEnviro = CStr(Environ("USERPROFILE"))
strTempFolder = strEnviro & "\AppData\Local\Temp"
For Each objAttachment In objOriginalMail.Attachments
'Skip the embedded image attachments
If IsEmbeddedAttachment(objAttachment) = False Then
strFilePath = strTempFolder & "\" & objAttachment.filename
objAttachment.SaveAsFile strFilePath
'Attach the temporarily saved attachments to the Reply
objReply.Attachments.Add strFilePath
'Delete the temporarily saved attachments
Kill strFilePath
End If
Next
End Sub
'Function for checking if an attachment is embedded image attachment
Function IsEmbeddedAttachment(objCurrentAttachment As Outlook.Attachment) As Boolean
Dim objPropertyAccessor As Outlook.propertyAccessor
Dim strProperty As String
Set objPropertyAccessor = objCurrentAttachment.propertyAccessor
strProperty = objPropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E")
If InStr(1, strProperty, "@") > 0 Then
IsEmbeddedAttachment = True
Else
IsEmbeddedAttachment = False
End If
End Function
- 稍後對該宏進行簽名,並更改Outlook宏設置以允許簽名的宏。
- 之後,restar使用Outlook應用程序激活此VBA項目。
- 從現在開始,每次單擊“答复”按鈕。 回复的電子郵件將立即顯示並帶有原始附件。
借助卓越的維修工具
由於功能眾多,Outlook已經肩負了其他電子郵件客戶端的重任。 但是它仍然易於腐敗。 因此,您應該更加註意它的健康。 通常,遇到小問題時,您可以簡單地使用內置的修訂實用程序。 但是,如果遇到嚴重的麻煩,則最好使用更加精通的工具,例如 DataNumen Outlook Repair。 它可以 修復Outlook 即時存檔。
作者簡介:
Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 SQL修復 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM


