添付された Excel ファイルの特定のセルの値でフォルダーに振り分けるマクロ


コメントで以下のようなご要望をいただきました。


Outlook2007を使用しています。

メールに添付されたexcelファイルの特定のセルに入力された値をメール受信時にメールの件名、もしくは本文に追加することはできますか。
もしくは添付ファイルに入力された値を条件にしてメールの自動仕分けを設定することはできますか。

要望は「セルの A:1 に “TEST” という文字があったら Test フォルダーに振り分ける」という処理です。
サンプルのマクロを教えていただけますでしょうか。


サンプルは以下の通りになります。
受信した添付ファイルを一時保存するパスを TEMP_PATH、セルの値として検索する文字列を CONDITION_STRING、移動先のフォルダー名を MOVE_TO_FOLDER で指定します。なお、移動先のフォルダーは受信トレイの下に配置してください。また、セルの A:1 以外の場合は、Cells(1,1) のかっこの中を適宜変更してください。

' ここをトリプルクリックでマクロ全体を選択できます。
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Const TEMP_PATH = "C:\temp\"
    Const CONDITION_STRING = "TEST"
    Const MOVE_TO_FOLDER = "Test"
    Dim objItem 'As MailItem
    Dim objAttach 'As Attachment
    Dim objBook 'As Excel.Workbook
    Dim fldInbox 'As Folder
    Dim fldTest 'As Folder
'
    Set objItem = Session.GetItemFromID(EntryIDCollection)
    If objItem.MessageClass = "IPM.Note" Then
        If objItem.Attachments.Count = 1 Then
            Set objAttach = objItem.Attachments(1)
            If objAttach.FileName Like "*.xls" Or objAttach.FileName Like "*.xls?" Then
                objAttach.SaveAsFile TEMP_PATH & objAttach.FileName
                Set objBook = GetObject(TEMP_PATH & objAttach.FileName)
                If objBook.Sheets(1).Cells(1, 1) = CONDITION_STRING Then
                    Set fldInbox = Session.GetDefaultFolder(olFolderInbox)
                    Set fldTest = fldInbox.Folders(MOVE_TO_FOLDER)
                    objItem.Move fldTest
                End If
                objBook.Close
            End If
        End If
    End If
End Sub

マクロの登録方法やメニューへの追加について

広告

添付された Excel ファイルの特定のセルの値でフォルダーに振り分けるマクロ」への2件のフィードバック

  1. お世話になります。
    WindowsXP SP3、OUTLOK2003SP3 を使用しております。
    メール誤送信防止のため、宛先アドレス(表示名)と、本文に、記載した、会社名(アドレスの表示名と同一)を、チェックする、VBA をご教授願います。宜しくお願い致します。

    • あて先アドレスの表示名と会社名をチェックする、とありますが、あて先の表示名にはどのような形で会社名が含まれているのでしょうか?
      人間が見れば表示名の中の会社名というのはすぐに識別できますが、コンピューターには非常に難しい作業となるため、例えば会社名を必ず括弧でくくるというようなことをしておく必要があります。
      チェックする方法について、どのようにチェックすればよいかより詳しく説明してください。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中