当サイトの記事にはプロモーションが含まれています。

Excel VBAでOutlookメールにフラグを設定する方法【初心者向け解決ガイド】

パソコンパソコン・スマホ教室
スポンサーリンク

皆さん、こんにちは。今日は、ExcelのVBAを使って、Outlookのメールにフラグを付ける方法をわかりやすくお伝えします。メール管理でお困りの方、必見ですよ。

スポンサーリンク

Excel VBAとOutlookの連携基本のキ

Outlookのイメージ

Outlookのイメージ

まず、ExcelとOutlookを連携させるための基本的な設定から始めましょう。

VBAエディタの起動方法

最初に、Excelを開きます。次に、「開発」タブをクリックし、その中の「Visual Basic」を選択します。これでVBAエディタが起動します。「開発」タブが見当たらない場合は、「ファイル」→「オプション」→「リボンのユーザー設定」で「開発」にチェックを入れてください。

Outlook参照設定の追加

VBAエディタが開いたら、メニューの「ツール」から「参照設定」を選びます。表示された一覧の中から「Microsoft Outlook xx.x Object Library」にチェックを入れて、「OK」をクリックします。これで、Excel VBAからOutlookを操作する準備が整いました。

Outlookメールにフラグを設定するVBAコード

それでは、実際にメールにフラグを付けるVBAコードを見てみましょう。

vba
Sub FlagEmails()
Dim olApp As Outlook.Application
Dim olNamespace As Outlook.Namespace
Dim olFolder As Outlook.Folder
Dim olMail As Outlook.MailItem
Dim i As Integer

' Outlookアプリケーションの初期化
Set olApp = New Outlook.Application
Set olNamespace = olApp.GetNamespace("MAPI")
Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox)

' 受信トレイ内のアイテムを順番にチェック
For i = 1 To olFolder.Items.Count
If TypeName(olFolder.Items(i)) = "MailItem" Then
Set olMail = olFolder.Items(i)
' フラグを設定
olMail.FlagStatus = olFlagMarked
olMail.FlagRequest = "対応が必要です"
olMail.FlagDueBy = Now + 2 ' 2日後が期限
olMail.Save
End If
Next i

' オブジェクトの解放
Set olMail = Nothing
Set olFolder = Nothing
Set olNamespace = Nothing
Set olApp = Nothing

MsgBox "すべてのメールにフラグを設定しました。"
End Sub

このコードを実行すると、受信トレイ内のすべてのメールに「対応が必要です」というフラグが付き、2日後を期限として設定されます。

フラグ設定の応用特定のキーワードでフィルタリング

全てのメールにフラグを付けるのではなく、特定のキーワードを含むメールだけにフラグを付けたい場合もありますよね。例えば、件名に「重要」という言葉が含まれているメールだけにフラグを付ける方法をご紹介します。

vba
Sub FlagImportantEmails()
Dim olApp As Outlook.Application
Dim olNamespace As Outlook.Namespace
Dim olFolder As Outlook.Folder
Dim olMail As Outlook.MailItem
Dim i As Integer

' Outlookアプリケーションの初期化
Set olApp = New Outlook.Application
Set olNamespace = olApp.GetNamespace("MAPI")
Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox)

' 受信トレイ内のアイテムを順番にチェック
For i = 1 To olFolder.Items.Count
If TypeName(olFolder.Items(i)) = "MailItem" Then
Set olMail = olFolder.Items(i)
' 件名に「重要」が含まれている場合にフラグを設定
If InStr(olMail.Subject, "重要") > 0 Then
olMail.FlagStatus = olFlagMarked
olMail.FlagRequest = "至急対応が必要です"
olMail.FlagDueBy = Now + 1 ' 1日後が期限
olMail.Save
End If
End If
Next i

' オブジェクトの解放
Set olMail = Nothing
Set olFolder = Nothing
Set olNamespace = Nothing
Set olApp = Nothing

MsgBox "『重要』なメールにフラグを設定しました。"
End Sub

このコードでは、件名に「重要」というキーワードが含まれているメールに対してのみ、フラグを設定します。

よくある質問や疑問

フラグを設定したメールはどこで確認できますか?

Outlookの受信トレイで、フラグが設定されたメールには赤い旗のアイコンが表示されます。また、Outlookの「タスク」ビューでも、フラグ付きのメールを一覧で確認することができます。

フラグの期限を過ぎた場合、何か通知はありますか?

はい、Outlookではフラグの期限が過ぎると、自動的にリマインダーが表示されます。これにより、重要なメールの対応漏れを防ぐことができます。

まとめ

今回は、ExcelのVBAを使ってOutlookのメールにフラグを設定する方法をご紹介しました。これにより、メール管理がより効率的になりますね。他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました