この記事では、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を使用すると、非常に簡単にメールの自動ソートを実現することができます。今回紹介したコードを参考に、あなたの日常業務をより効率的にしましょう。
コメント