Outlookの電子メールですべての埋め込み画像を添付ファイルにすばやく変換する方法

今すぐ共有:

メッセージ本文に埋め込まれているすべての画像を電子メールの添付ファイルにすばやく変更する場合は、手動で削除して再添付する必要はありません。 この記事で公開されているVBAコードの一部を使用できます。

場合によっては、すべての埋め込み画像を添付ファイルにバッチ変換したいことがあります。 たとえば、メッセージ本文の画像が多すぎると、本文のテキストを読むのが妨げられます。 したがって、それらを電子メールの本文から削除し、代わりに添付ファイルとして追加する必要があります。 もちろん、これは手動で行うことができます。 しかし、ツールやVBAコードでこれを一度に取得できるのであれば、もっと便利なはずです。 ここでは、そのようなVBAコードを公開します。

Outlookの電子メールですべての埋め込み画像を添付ファイルにすばやく変換する

すべての埋め込み画像を添付ファイルにすばやく変換

  1. そもそも、starOutlookプログラム。
  2. 次に、「開発者」タブに切り替えて、「VisualBasic」ボタンを押すことができます。
  3. 次に、OutlookVBAエディターウィンドウが表示されます。
  4. その後、次のVBAコードを空のモジュールにコピーする必要があります。
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

VBAコード-すべての埋め込み画像を添付ファイルに変換する

  1. その後、Outlookがマクロを許可するように設定されていることを確認する必要があります。
  2. オプションで、これが頻繁に必要な場合は、後で便利にチェックできるように、新しいマクロをクイックアクセスツールバーに追加することをお勧めします。
  3. 最終的には、試してみることができます。 電子メールを選択または開き、クイックアクセスツールバーの新しいマクロボタンをクリックしてマクロを実行します。
  4. すぐに、次のスクリーンショットのように、すべての埋め込み画像が添付ファイルに変更されます。効果:添付ファイルへの埋め込み画像

貴重なOutlookデータを保護するための秘訣

ご存知のとおり、Outlook PSTファイルは、Word文書やExcelスプレッドシートなどの一般的なファイルと同じように脆弱です。 したがって、ウイルスや不適切な処理など、PSTファイルに関するすべてのリスクに注意する必要があります。 したがって、PSTファイルの定期的なデータバックアップを作成する必要があります。 また、余裕があれば、堅牢性を保つのが賢明です Outlookの修復 便利なツール、 DataNumen Outlook Repair.

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 mdfを回復する と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。