Nếu bạn muốn nhanh chóng thay đổi tất cả ảnh được nhúng trong nội dung thư thành tệp đính kèm email, bạn không cần phải xóa và đính kèm lại theo cách thủ công. Bạn chỉ có thể sử dụng đoạn mã VBA được hiển thị trong bài viết này.
Đôi khi, bạn có thể muốn chuyển hàng loạt tất cả các hình ảnh được nhúng thành tệp đính kèm. Chẳng hạn, quá nhiều hình ảnh trong nội dung thư sẽ làm gián đoạn việc đọc các văn bản trong nội dung. Do đó, bạn muốn xóa chúng khỏi nội dung email và thay vào đó thêm chúng dưới dạng tệp đính kèm. Tất nhiên, bạn có thể làm điều này bằng tay. Nhưng nó phải thuận tiện hơn nếu bất kỳ công cụ hoặc mã VBA nào có thể thực hiện điều này trong một lần. Ở đây chúng tôi sẽ tiết lộ một mã VBA như vậy cho bạn.

Nhanh chóng chuyển đổi tất cả hình ảnh nhúng thành tệp đính kèm
- Trước tiên, hãy mở chương trình Outlook của bạn.
- Sau đó, bạn có thể chuyển sang tab “Nhà phát triển” và nhấn nút “Visual Basic”.
- Tiếp theo, bạn sẽ vào cửa sổ soạn thảo VBA của Outlook.
- Sau đó, bạn cần sao chép mã VBA sau vào một mô-đun trống.
Sub TurnEmebeddedImagestoAttachments()
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim objFileSystem As Object
Dim strTempFolder As String
Dim strFile As String
Dim i As Long
Select Case Outlook.Application.ActiveWindow.Class
Case olInspector
Set objMail = ActiveInspector.CurrentItem
Case olExplorer
Set objMail = Application.ActiveExplorer.Selection.Item(1)
End Select
Set objAttachments = objMail.attachments
'Create a temp folder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp " & Format(Now, "YYYY-MM-DD hh-mm-ss")
MkDir (strTempFolder)
'Save all embedded images to temp folder
For i = objAttachments.Count To 1 Step -1
Set objAttachment = objAttachments.Item(i)
If IsEmbedded(objAttachment) = True Then
objAttachment.SaveAsFile strTempFolder & "\" & objAttachment.FileName
End If
Next
'Add extracted images as attachments
strTempFolder = strTempFolder & "\"
strFile = Dir(strTempFolder)
While Len(strFile) > 0
objMail.attachments.Add (strTempFolder & strFile)
strFile = Dir
Wend
'Remove embedded images from message body
With objMail
.BodyFormat = olFormatPlain
End With
End Sub
Function IsEmbedded(objCurAttachment As Outlook.Attachment) As Boolean
Dim objPropertyAccessor As Outlook.PropertyAccessor
Dim strProperty As String
Set objPropertyAccessor = objCurAttachment.PropertyAccessor
strProperty = objPropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E")
If InStr(1, strProperty, "@") > 0 Then
IsEmbedded = True
Else
IsEmbedded = False
End If
End Function
- Sau đó, bạn phải xác nhận rằng Outlook của bạn được đặt để cho phép macro.
- Theo tùy chọn, nếu bạn thường xuyên yêu cầu điều này, bạn nên thêm macro mới vào Thanh công cụ truy cập nhanh để kiểm tra thuận tiện trong tương lai.
- Cuối cùng bạn có thể có một thử. Chọn hoặc mở một email rồi chạy macro bằng cách bấm vào nút macro mới trong Thanh công cụ truy cập nhanh.
- Ngay lập tức, tất cả các hình ảnh được nhúng sẽ được thay đổi thành tệp đính kèm như ảnh chụp màn hình sau:
Thủ thuật để bảo vệ dữ liệu Outlook có giá trị của bạn
Như chúng ta đã biết, tệp Outlook PST cũng dễ bị tổn thương như các tệp thông thường, chẳng hạn như tài liệu Word hoặc bảng tính Excel. Do đó, bạn nên tiếp tục đề phòng mọi rủi ro xung quanh tệp PST của mình, chẳng hạn như vi-rút hoặc xử lý không đúng cách. Vì vậy, bạn cần thực hiện sao lưu dữ liệu thường xuyên cho tệp PST của mình. Ngoài ra, nếu bạn có đủ khả năng, bạn nên giữ một Sửa chữa Outlook công cụ tiện dụng, như DataNumen Outlook Repair.
Giới thiệu tác giả:
Shirley Zhang là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm phục hồi mdf và các sản phẩm phần mềm sửa chữa triển vọng. Để biết thêm thông tin, hãy truy cập www.datanumennăm

