Bỏ qua nội dung chính

Làm cách nào để trả lời tất cả bằng các tệp đính kèm ban đầu trong Outlook?

Thông thường, khi bạn áp dụng chức năng Trả lời Tất cả để trả lời thư cho tất cả người nhận trong Outlook, các tệp đính kèm ban đầu sẽ tự động bị mất. Có thể đính kèm tệp đính kèm ban đầu khi trả lời tất cả trong Outlook không?

Trả lời tất cả bằng các tệp đính kèm ban đầu với mã VBA

Trả lời tất cả bằng các tệp đính kèm ban đầu với Kutools cho Outlook


Trả lời tất cả bằng các tệp đính kèm ban đầu với mã VBA

Không có tính năng trực tiếp để giải quyết tác vụ này trong Outlook, nhưng bạn có thể áp dụng mã VBA sau để đạt được nó. Vui lòng thực hiện theo các bước dưới đây:

1. Khởi chạy Outlook, rồi nhấn giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp đúp ĐâyOutlookSession từ Project1 (VbaProject.OTM) để mở chế độ, sau đó sao chép và dán mã sau vào mô-đun trống.

Mã VBA: Trả lời tất cả bằng ahhachments gốc:

Sub ReplyAllWithAttachments()
'Updateby Extendoffice
Dim xItem As Object
On Error Resume Next
Select Case TypeName(Outlook.Application.ActiveWindow)
Case "Explorer"
For Each xItem In Outlook.Application.ActiveExplorer.Selection
GetReplyItem xItem
Next
Case "Inspector"
Set xItem = Outlook.Application.ActiveInspector.CurrentItem
GetReplyItem xItem
End Select
Set xItem = Nothing
End Sub
Sub GetReplyItem(Item As Object)
Dim xReplyMailItem As Outlook.MailItem
On Error Resume Next
If Not Item Is Nothing Then
Set xReplyMailItem = Item.ReplyAll
GetAttachments Item, xReplyMailItem
xReplyMailItem.Display
'xReplyMailItem.Send
Item.UnRead = False
End If
Set xReplyMailItem = Nothing
End Sub
Sub GetAttachments(xSourceItem, xTargetItem)
Dim xFSO As Scripting.FileSystemObject
Dim xTmpPath As String
Dim xAttachment As Attachment
Dim xTmpFile As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
xTmpPath = CreateObject("shell.Application").NameSpace(5).self.Path & "\TmpAttachments\"
If xFSO.FolderExists(xTmpPath) = False Then
MkDir xTmpPath
End If
For Each xAttachment In xSourceItem.Attachments
If IsEmbeddedAttachment(xAttachment) = False Then
xTmpFile = xTmpPath & xAttachment.FileName
xAttachment.SaveAsFile xTmpFile
xTargetItem.Attachments.Add xTmpFile, , , xAttachment.DisplayName
xFSO.DeleteFile xTmpFile
End If
Next
If xFSO.FolderExists(xTmpPath) Then
Kill xTmpPath
End If
Set xFSO = Nothing
End Sub
Function IsEmbeddedAttachment(Attach As Attachment)
Dim xAttParent As Object
Dim xCID As String, xID As String
Dim xHTML As String
On Error Resume Next
Set xAttParent = Attach.Parent
xCID = ""
xCID = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCID <> "" Then
xHTML = xAttParent.HTMLBody
xID = "cid:" & xCID
If InStr(xHTML, xID) > 0 Then
IsEmbeddedAttachment = True
Else
IsEmbeddedAttachment = False
End If
End If
End Function

doc trả lời tất cả với tệp đính kèm 1

3. Và sau đó nhấp vào CÔNG CỤ > dự án trong Microsoft Visual Basic cho các ứng dụng cửa sổ, trong cửa sổ bật ra Tài liệu tham khảo-Dự án1 hộp thoại, kiểm tra Thời gian chạy tập lệnh của Microsoft tùy chọn từ Tài liệu tham khảo có sẵn hộp danh sách, xem ảnh chụp màn hình:

doc trả lời tất cả với tệp đính kèm 9

4. Sau đó, lưu và đóng cửa sổ mã, rồi bạn có thể thêm nút macro vào Thanh công cụ truy cập nhanh.

5. Mở email mà bạn muốn trả lời tất cả với tệp đính kèm trong Tin nhắn cửa sổ, sau đó chọn Các lệnh khác từ Tùy chỉnh thanh công cụ truy cập nhanh thả xuống, xem ảnh chụp màn hình:

doc trả lời tất cả với tệp đính kèm 2

6. Trong Tùy chọn Outlook hộp thoại, hãy thực hiện các thao tác sau:

(1.) Chọn Macros từ Chọn lệnh từ danh sách thả xuống;

(2.) Nhấp vào tên macro mà bạn đã chèn ngay bây giờ;

(3.) Và sau đó nhấp vào Thêm để thêm macro vào Tùy chỉnh thanh công cụ truy cập nhanh.

doc trả lời tất cả với tệp đính kèm 3

7. Sau đó nhấn vào OK để đóng hộp thoại, bây giờ, nút macro đã được chèn vào Thanh công cụ truy cập nhanh, xem ảnh chụp màn hình:

doc trả lời tất cả với tệp đính kèm 4

8. Bây giờ, hãy nhấp vào nút macro và cửa sổ thư trả lời với các tệp đính kèm ban đầu được mở ra, sau đó soạn thư trả lời và nhấp vào Gửi nút, xem ảnh chụp màn hình:

doc trả lời tất cả với tệp đính kèm 5


Trả lời tất cả bằng các tệp đính kèm ban đầu với Kutools cho Outlook

Nếu bạn có Kutools cho Outlook, Với khả Trả lời tất cả bằng tệp đính kèm tính năng, bạn có thể trả lời tất cả bằng các tệp đính kèm chỉ bằng một cú nhấp chuột.

Kutools cho Outlook : với hơn 100 bổ trợ Outlook tiện dụng, dùng thử miễn phí không giới hạn trong 60 ngày. 

Sau khi cài đặt Kutools cho Outlook, hãy làm như sau:

1. Chọn thư mà bạn muốn trả lời tất cả cùng với tệp đính kèm, sau đó bấm Kutools > Trả lời bằng tệp đính kèm > Trả lời tất cả bằng tệp đính kèm, xem ảnh chụp màn hình:

2. Và cửa sổ tin nhắn trả lời được mở với các tệp đính kèm ban đầu, sau đó soạn tin nhắn của bạn và gửi đi, xem ảnh chụp màn hình:

doc trả lời tất cả với tệp đính kèm 7

Nhấp để tải xuống Kutools cho Outlook và dùng thử miễn phí ngay bây giờ!


Công cụ năng suất văn phòng tốt nhất

Kutools cho Outlook - Hơn 100 tính năng mạnh mẽ để tăng cường Outlook của bạn

🤖 Trợ lý thư AI: Email chuyên nghiệp tức thì với phép thuật AI--một cú nhấp chuột để có câu trả lời xuất sắc, giọng điệu hoàn hảo, khả năng thông thạo đa ngôn ngữ. Chuyển đổi email một cách dễ dàng! ...

📧 Tự động hoá email: Vắng Mặt (Có sẵn cho POP và IMAP)  /  Lên lịch gửi email  /  Tự động CC/BCC theo quy định khi gửi Email  /  Tự động chuyển tiếp (Quy tắc nâng cao)   /  Tự động thêm lời chào   /  Tự động chia email nhiều người nhận thành các tin nhắn riêng lẻ hữu ích. Cảm ơn !

📨 Quản lý email: Dễ dàng thu hồi email  /  Chặn email lừa đảo theo chủ đề và những người khác  /  Xóa các email trùng lặp  /  Tìm Kiếm Nâng Cao  /  Hợp nhất các thư mục hữu ích. Cảm ơn !

📁 Tệp đính kèm chuyên nghiệpLưu hàng loạt  /  Tách hàng loạt  /  Nén hàng loạt  /  Tự động lưu   /  Tự động tách  /  Tự động nén hữu ích. Cảm ơn !

🌟 Giao diện ma thuật: 😊Thêm nhiều biểu tượng cảm xúc đẹp và thú vị hơn   /  Tăng năng suất Outlook của bạn với chế độ xem theo thẻ  /  Thu nhỏ Outlook thay vì đóng hữu ích. Cảm ơn !

👍 Kỳ quan chỉ bằng một cú nhấp chuột: Trả lời tất cả bằng tệp đính kèm đến  /   Email chống lừa đảo  /  🕘Hiển thị múi giờ của người gửi hữu ích. Cảm ơn !

👩🏼‍🤝‍👩🏻 Danh bạ & Lịch: Thêm hàng loạt liên hệ từ các email đã chọn  /  Chia nhóm liên hệ thành các nhóm riêng lẻ  /  Xóa lời nhắc sinh nhật hữu ích. Cảm ơn !

Trên 100 tính năng Chờ đợi sự khám phá của bạn! Bấm vào đây để khám phá thêm.

 

 

Comments (15)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Is it possible that, after a reboot or windows update, the macro is not working anymore? Also after doing again the procedure is not working anymore
This comment was minimized by the moderator on the site
Bonjour, la macro n'a fonctionné qu'une seule fois, dommage
This comment was minimized by the moderator on the site
Bonjour, nickel, mais n'a fonctionné qu'une fois. dommage
This comment was minimized by the moderator on the site
BonjourCette macros est super malheureusement cela ne fonctionne qu'une fois.. dommage
This comment was minimized by the moderator on the site
is there a macro that replies to all keeps attachments and keeps the original email in text format?
This comment was minimized by the moderator on the site
Thank you very much, you are the only one to share this macro and it's awesome, thank you for your work !
This comment was minimized by the moderator on the site
a macro VBA só funciona por um dia?
This comment was minimized by the moderator on the site
Bonjour,


Super, ça marche à merveille. J'ai visité plein de tuto et d'échange sur le sujet et aucune réponse satisfaisante avant celui-ci. Sachant que jusqu'à présent, je bricolais toujours entre "transférer" et remettre les destinataires ou "répondre à tous" et remettre la ou les pièces jointes. Encore merci.

Harivola
This comment was minimized by the moderator on the site
All files in mail adding as attachment such as image in my signiture.
How can i only attachment files
This comment was minimized by the moderator on the site
Hi,
If you need to exclude the images within the messages which are inserted into the attachments, please apply the below VBA code, hope it can help you!
Sub ReplyAllWithAttachments()
Dim xItem As Object
On Error Resume Next
Select Case TypeName(Outlook.Application.ActiveWindow)
Case "Explorer"
For Each xItem In Outlook.Application.ActiveExplorer.Selection
GetReplyItem xItem
Next
Case "Inspector"
Set xItem = Outlook.Application.ActiveInspector.CurrentItem
GetReplyItem xItem
End Select
Set xItem = Nothing
End Sub
Sub GetReplyItem(Item As Object)
Dim xReplyMailItem As Outlook.MailItem
On Error Resume Next
If Not Item Is Nothing Then
Set xReplyMailItem = Item.ReplyAll
GetAttachments Item, xReplyMailItem
xReplyMailItem.Display
'xReplyMailItem.Send
Item.UnRead = False
End If
Set xReplyMailItem = Nothing
End Sub
Sub GetAttachments(xSourceItem, xTargetItem)
Dim xFSO As Scripting.FileSystemObject
Dim xTmpPath As String
Dim xAttachment As Attachment
Dim xTmpFile As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
xTmpPath = CreateObject("shell.Application").NameSpace(5).self.Path & "\TmpAttachments\"
If xFSO.FolderExists(xTmpPath) = False Then
MkDir xTmpPath
End If
For Each xAttachment In xSourceItem.Attachments
If IsEmbeddedAttachment(xAttachment) = False Then
xTmpFile = xTmpPath & xAttachment.FileName
xAttachment.SaveAsFile xTmpFile
xTargetItem.Attachments.Add xTmpFile, , , xAttachment.DisplayName
xFSO.DeleteFile xTmpFile
End If
Next
If xFSO.FolderExists(xTmpPath) Then
Kill xTmpPath
End If
Set xFSO = Nothing
End Sub
Function IsEmbeddedAttachment(Attach As Attachment)
Dim xAttParent As Object
Dim xCID As String, xID As String
Dim xHTML As String
On Error Resume Next
Set xAttParent = Attach.Parent
xCID = ""
xCID = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCID <> "" Then
xHTML = xAttParent.HTMLBody
xID = "cid:" & xCID
If InStr(xHTML, xID) > 0 Then
IsEmbeddedAttachment = True
Else
IsEmbeddedAttachment = False
End If
End If
End Function
This comment was minimized by the moderator on the site
I signed up just to say thank you! Skyyang.
This comment was minimized by the moderator on the site
Thanks alot
This comment was minimized by the moderator on the site
Getting compile error as : User-define type not defined at line no " Dim xFSO As Scripting.FileSystemObject" under "Sub GetAttachments(xSourceItem, xTargetItem)"
Kindly Advice on this error.
This comment was minimized by the moderator on the site
Hello, Sam,
Sorry, the article misses the step 3, I have updated this article, please try again. Hope it can help you!

Thank you for your reminder.
This comment was minimized by the moderator on the site
Thank you so much skyyang!!

Works like a charm.

Best Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations