メインコンテンツへスキップ

特定の添付ファイルに基づいてOutlookでメールを自動的にフラグするにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-08-06

特定の重要な添付ファイル付きのメールを受け取った場合、それらをフラグしておけば、後で簡単に見つけてフォローアップすることができます。この記事では、特定の名前を持つ添付ファイル付きのメールを自動的にフラグする簡単な方法について説明します。

VBAコードを使用して特定の添付ファイルに基づいてメールを自動的にフラグする


VBAコードを使用して特定の添付ファイルに基づいてメールを自動的にフラグする

特定の添付ファイルを含むメールを自動的にフラグするには、次のVBAコードを適用してください:

1. Outlookを起動し、「ALT + F11」キーを押したままにすると、「Microsoft Visual Basic for Applications」ウィンドウが開きます。

2. 「Microsoft Visual Basic for Applications」ウィンドウで、「Project1(VbaProject.OTM)」ペインから「ThisOutlookSession」をダブルクリックして新しいモジュールを開き、以下のコードを空白のモジュールにコピーして貼り付けます。

VBAコード: 特定の添付ファイルに基づいてメールを自動的にフラグする:

Public WithEvents GMailItems As Outlook.Items
Private Sub Application_Startup()
    Set GMailItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub GMailItems_ItemAdd(ByVal Item As Object)
    If Item.Class <> olMail Then Exit Sub
    FlagEmail_SpecificAttachments Item
End Sub

Sub FlagEmail_SpecificAttachments(Mail As Outlook.MailItem)
    Dim xAttachment As Outlook.Attachment
    Dim xExt As String
    Dim xFileName As String
    If Mail.Attachments.Count = 0 Then Exit Sub
    For Each xAttachment In Mail.Attachments
        xExt = SplitPath(xAttachment.FileName, 2)
        xFileName = SplitPath(xAttachment.FileName, 1)
        Select Case xExt
            Case "txt", "xlsx", "docx", "pdf"
                If InStr(LCase(xFileName), LCase("KTO")) > 0 Then
                    With Mail
                        .ReminderSet = True
                        .ReminderTime = Now + 1
                        .MarkAsTask olMarkTomorrow
                        .Save
                    End With
                End If
        End Select
    Next
End Sub

Public Function SplitPath(FullPath As String, ResultFlag As Integer) As String
Dim xSplitPos As Integer, xDotPos As Integer
xSplitPos = InStrRev(FullPath, "/")
xDotPos = InStrRev(FullPath, ".")
Select Case ResultFlag
    Case 0
        SplitPath = Left(FullPath, xSplitPos - 1)
    Case 1
        If xDotPos = 0 Then xDotPos = Len(FullPath) + 1
        SplitPath = Mid(FullPath, xSplitPos + 1, xDotPos - xSplitPos - 1)
    Case 2
        If xDotPos = 0 Then xDotPos = Len(FullPath)
        SplitPath = Mid(FullPath, xDotPos + 1)
    Case Else
    Err.Raise vbObjectError + 1, "SplitPath Function", "Invalid Parameter!"
End Select
End Function

注意: 上記のコードでは、必要に応じてファイル拡張子と添付ファイル名を変更できます。

doc auto flag emails 1

3. その後、コードを保存し、Outlookを再起動してコードを有効にします。これで、指定されたテキストを含む添付ファイル名を持つメールを受信すると、Outlookはそのメールをフォローアップのために自動的にフラグします(スクリーンショット参照)。

doc auto flag emails 2

OutlookのAIメールアシスタント:スマートな返信、クリアなコミュニケーション(ワンクリックで魔法のような操作!) 無料

Kutools for OutlookのAIメールアシスタントを使用して、毎日のOutlookタスクを効率化しましょう。この強力なツールは、過去のメールから学習し、インテリジェントで正確な返信を提供し、メールの内容を最適化し、メッセージの作成や修正を手間なく行うことができます。
doc ai email handle

この機能がサポートする内容:

  • スマート返信:過去の会話に基づいて調整された、的確で使用準備の整った返信を取得します。
  • 強化されたコンテンツ:メールの文章を自動的に洗練させ、明瞭さと影響力を高めます。
  • 簡単な作成:キーワードを入力するだけで、複数のライティングスタイルでAIが残りを処理します。
  • インテリジェント拡張:文脈を理解した提案で考えを広げます。
  • 要約:長文のメールを瞬時に簡潔にまとめます。
  • グローバル対応:メールを簡単にどの言語にも翻訳できます。

この機能がサポートする内容:

  • スマートメール返信
  • 最適化されたコンテンツ
  • キーワードベースの下書き
  • インテリジェントなコンテンツ拡張
  • メールの要約
  • 多言語翻訳

何より、この機能は永遠に完全無料です今すぐAIメールアシスタントをダウンロードしてお楽しみください


最高のオフィス生産性ツール

速報:Kutools for Outlook が無料版をリリース!

新しくなった Kutools for Outlook を100以上の素晴らしい機能とともに体験してください!今すぐダウンロード!

🤖 Kutools AI : 高度なAI技術を活用し、メールの返信、要約、最適化、拡張、翻訳、作成を効率良くこなします。

📧 メール自動化: 自動返信(POPとIMAPに対応) / メール送信のスケジュール設定 /送信時にルールで自動 CC/BCC / 高度なルールによる自動転送 / 挨拶文を自動追加 / 複数宛先のメールを自動で個別のメールに分割 ...

📨 メール管理: メールの取り消し / 件名やその他の条件で迷惑メールをブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理 ...

📁 添付ファイルPro: 一括保存 / 一括切り離し / 一括圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮 ...

🌟 インターフェースマジック: 😊もっとキレイで楽しい絵文字 /重要なメールの到着をお知らせ / Outlookを閉じずに最小化 ...

👍 ワンクリック便利機能: 全員に【Attachment】付きで返信 /迷惑メール対策 / 🕘送信者のタイムゾーン表示 ...

👩🏼‍🤝‍👩🏻 連絡先&カレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除 ...

お好みの言語で Kutools をご利用いただけます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上をサポート!

Kutools for Outlook はワンクリックですぐにアンロックできます。今すぐダウンロードして効率をアップしましょう!

kutools for outlook features1 kutools for outlook features2