Excel VBAで「確認待ち」フォルダにメールを自動移動させる方法

Excel VBAには多くの機能が組み込まれていますが、その中でも自動的に特定の条件に合致するメールを「確認待ち」フォルダに移動するような処理は、日常業務を大幅に効率化する手段として注目されています。この記事では、Excel VBAを利用して、特定の条件を持つメールを「確認待ち」フォルダに自動的に移動させる処理について解説します。具体的なコード例やその詳細な解説、さらにはその応用例も取り上げます。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

Excel VBAでのメールの移動処理

Excel VBAを使うことで、メールの自動整理が可能になります。特に「確認待ち」というフォルダに自動的にメールを移動させることは、業務の効率を大幅に上げることができます。


Sub MoveMailToCheckFolder()
    Dim OutlookApp As Object
    Dim OutlookNamespace As Object
    Dim Inbox As Object
    Dim CheckFolder As Object
    Dim Mail As Object
    
    'Outlookの起動
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
    
    'メインの受信トレイと「確認待ち」フォルダを指定
    Set Inbox = OutlookNamespace.GetDefaultFolder(6)
    Set CheckFolder = Inbox.Folders("確認待ち")
    
    '受信トレイのメールをチェック
    For Each Mail In Inbox.Items
        '条件に合致するメールを「確認待ち」フォルダへ移動
        If Mail.Subject Like "*確認が必要*" Then
            Mail.Move CheckFolder
        End If
    Next Mail
End Sub

コードの詳細解説

このVBAスクリプトは、Outlookの受信トレイにあるメールをスキャンして、件名に「確認が必要」という文字列が含まれているものを「確認待ち」フォルダに移動します。

– **OutlookApp** : Outlookアプリケーションを表すオブジェクト
– **OutlookNamespace** : MAPIネームスペースを表すオブジェクト
– **Inbox** : 受信トレイを表すオブジェクト
– **CheckFolder** : 「確認待ち」というフォルダを表すオブジェクト
– **Mail** : メールアイテムを表すオブジェクト

応用例

VBAの強力な特性を利用して、上記の基本的な処理をさらに発展させることが可能です。

応用例1:特定の送信者からのメールを移動

特定の送信者からのメールだけを「確認待ち」フォルダに移動させる場合のコードです。


If Mail.SenderName = "特定の送信者" Then
    Mail.Move CheckFolder
End If

応用例2:メールの本文に特定のキーワードが含まれている場合に移動

メールの本文に「緊急」というキーワードが含まれている場合に「確認待ち」フォルダに移動させるコードです。


If InStr(1, Mail.Body, "緊急", vbTextCompare) > 0 Then
    Mail.Move CheckFolder
End If

応用例3:特定の日付以前のメールを移動

受信日が特定の日付以前のメールを「確認待ち」フォルダに移動させるコードです。


If Mail.ReceivedTime < DateValue("2023/01/01") Then
    Mail.Move CheckFolder
End If

まとめ

Excel VBAを使用してOutlookのメールを自動的に整理する方法について解説しました。日常の業務でメールの整理が困難に感じる方は、この方法を試してみることをおすすめします。さらなる効率化のための応用例も紹介しましたので、自身のニーズに合わせてカスタマイズしてみてください。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次