フォルダーに含まれるメールをすべてテキスト形式に変換するマクロ


コメントにて以下のご要望をいただきました。


初めまして、お世話になります。
日常的にoutlookを使用しており、メールフォルダが20GBを超える状態です。
添付ファイルはこちらのマクロで、一括削除を行う方法を知り、ずいぶん整理が進みました。
マクロ制作のお願いですが、授受しているメールが、HTMLか、リッチテキスト形式なのですが、
その受信メールをフォルダごと、テキストへ変換するマクロがあると、とても助かります。
よろしくご検討願います。


MailItem の BodyFormat プロパティには本文形式が格納されているのですが、このプロパティにテキスト形式を意味する olFormatPlain を設定して保存すると、本文形式をテキストに変換することができます。
表示中のフォルダーに含まれるメールをすべてテキスト形式にするマクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub ConvertToText()
    Dim fldCurrent As Folder
    Dim objItem As MailItem
    ' 現在表示中のフォルダーを取得
    Set fldCurrent = ActiveExplorer.CurrentFolder
    ' フォルダーのすべてのアイテムをチェック
    For Each objItem In fldCurrent.Items
        ' 本文形式を確認
        If objItem.BodyFormat <> olFormatPlain Then
            ' テキスト形式でなければ、テキスト形式にして保存
            objItem.BodyFormat = olFormatPlain
            objItem.Save
        End If
    Next
End Sub

マクロの登録方法やメニューへの追加について

フォルダーに含まれるメールをすべてテキスト形式に変換するマクロ」への1件のフィードバック

コメントを残す