OutlookのVBAを用いて「採用」関連メールを自動ソートする方法

この記事では、Excel VBAを使って求人や採用関連のメールを「採用」フォルダへ自動的に移動する方法について説明します。具体的なコード例、その詳細な解説、さらに3つの応用例を含めています。この技術をマスターすることで、あなたの日常のメール整理が格段に楽になります。

目次

VBAを使ってメールを自動ソートする

OutlookのVBAを使用して、特定のキーワードを含むメールを「採用」フォルダへ自動的に移動する方法を紹介します。

基本コード


Sub MoveMails()
    Dim olApp As Object
    Dim olNamespace As Object
    Dim olFolder As Object
    Dim olMail As Object
    Dim i As Long
    
    Set olApp = CreateObject("Outlook.Application")
    Set olNamespace = olApp.GetNamespace("MAPI")
    Set olFolder = olNamespace.GetDefaultFolder(6) ' 6 = Inbox
    
    For i = olFolder.Items.Count To 1 Step -1
        Set olMail = olFolder.Items(i)
        If InStr(olMail.Subject, "求人") > 0 Or InStr(olMail.Subject, "採用") > 0 Then
            olMail.Move olNamespace.GetDefaultFolder(6).Folders("採用")
        End If
    Next i
    
    Set olMail = Nothing
    Set olFolder = Nothing
    Set olNamespace = Nothing
    Set olApp = Nothing
End Sub

コードの解説

このコードは、OutlookのVBAを使用して、受信トレイ内のメールをチェックし、特定のキーワード(この場合は「求人」または「採用」)が件名に含まれているメールを「採用」フォルダに移動します。

1. 最初にOutlookアプリケーションを開き、MAPIという名前空間を取得します。
2. その後、受信トレイを参照します。
3. 受信トレイのメールを逆順でループし、各メールの件名をチェックします。
4. もしメールの件名に「求人」または「採用」という文字列が含まれている場合、そのメールを「採用」フォルダに移動します。

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

特定の会社や送信者からのメールを「採用」フォルダに移動させたい場合のコードです。


If olMail.SenderName = "特定の会社名" Or olMail.SenderName = "特定の人物名" Then
    olMail.Move olNamespace.GetDefaultFolder(6).Folders("採用")
End If

応用例2:特定の日付以降のメールだけを移動

ある特定の日付以降に受信したメールだけを対象にする場合のコードです。


If olMail.ReceivedTime >= DateValue("2023/01/01") Then
    olMail.Move olNamespace.GetDefaultFolder(6).Folders("採用")
End If

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

メールの本文に特定のキーワードが含まれている場合に「採用」フォルダに移動するコードです。


If InStr(olMail.Body, "面接") > 0 Then
    olMail.Move olNamespace.GetDefaultFolder(6).Folders("採用")
End If

まとめ

OutlookのVBAを使用すると、非常に簡単にメールの自動ソートを実現することができます。今回紹介したコードを参考に、あなたの日常業務をより効率的にしましょう。

コメント

コメントする

目次