Outlookの「アンケート」関連メールを自動整理するExcel VBAの使い方

この記事では、Excel VBAを使用して、特定の条件を持つメールをOutlook内の「アンケート」フォルダへ自動で移動する方法について詳しく説明します。アンケートやフィードバックに関するメールを整理することが目的です。具体的なコード例、その詳細な解説、さらには応用例を通して、日常のメール整理作業を効率化するための方法を学びましょう。

目次

Excel VBAの基本

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

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

基本的なコード


Sub MoveSurveyEmails()
    Dim olApp As Object
    Dim olNamespace As Object
    Dim olInbox As Object
    Dim olFolder As Object
    Dim olMail As Object
    Dim i As Integer

    Set olApp = CreateObject("Outlook.Application")
    Set olNamespace = olApp.GetNamespace("MAPI")
    Set olInbox = olNamespace.GetDefaultFolder(6)
    Set olFolder = olInbox.Folders("アンケート")

    For i = olInbox.Items.Count To 1 Step -1
        Set olMail = olInbox.Items(i)
        If InStr(olMail.Subject, "アンケート") > 0 Or InStr(olMail.Subject, "フィードバック") > 0 Then
            olMail.Move olFolder
        End If
    Next i

End Sub

コードの解説

このVBAコードは、Outlookの受信トレイにあるメールの中から、”アンケート”または”フィードバック”という単語を件名に含むメールを探し出し、”アンケート”フォルダに移動させるものです。

– `CreateObject(“Outlook.Application”)`:Outlookアプリケーションオブジェクトを作成します。
– `olApp.GetNamespace(“MAPI”)`:MAPI(メッセージングAPI)のNamespaceオブジェクトを取得します。これを通じてメールボックスにアクセスします。
– `olNamespace.GetDefaultFolder(6)`:受信トレイを参照します。数字の6は受信トレイを示す定数です。
– `For … Next`ループ:受信トレイのメールを最新のものから順に調べます。
– `InStr`関数:件名に特定の文字列が含まれているかを確認します。
– `olMail.Move olFolder`:該当するメールを”アンケート”フォルダに移動します。

応用例

応用例1: 送信者のアドレスを基にメールを移動


If olMail.SenderEmailAddress = "feedback@example.com" Then
    olMail.Move olFolder
End If

このコードは、送信者のアドレスが`feedback@example.com`である場合、そのメールを指定のフォルダに移動させるものです。

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


If InStr(olMail.Body, "アンケート結果") > 0 Then
    olMail.Move olFolder
End If

こちらはメールの本文に”アンケート結果”という単語が含まれている場合に、そのメールを指定のフォルダに移動させます。

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


If olMail.ReceivedTime < DateSerial(2023, 1, 1) Then
    olMail.Move olFolder
End If

このコードは、メールの受信日時が2023年1月1日より前である場合、そのメールを指定のフォルダに移動させるものです。

まとめ

Excel VBAを使用することで、Outlookのメール整理作業を大幅に効率化することができます。上述した基本のコードと応用例を組み合わせることで、さまざまな条件に基づくメールの自動整理が可能となります。ぜひ、日常業務の中でこのコードを活用し、メール管理の効率アップを図ってください。

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

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

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

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

コメント

コメントする

目次