Microsoft Outlookで特定のメールを受信したときポップアップと音で知らせる

2011/01/18

職場で特定のメールを受信したときにポップアップメッセージと音で知らせる機能があれば便利なので、Microsoft Outlookのマクロを作りました。

マクロはVBAで作る必要があり、初めてのVisual Basicで敷居が高そうでしたが、意外と簡単でした。

自分が使っているのはMicrosoft Outlook 2002で、ちょっと古いです。最新の2007での動作は確認していません。

Outlookにはメールの自動仕分け機能があり、差出人や、件名あるいは本文に特定文字が含む場合など、詳細な条件でメールを特定できます。条件に一致したメールは指定したフォルダに移動することができます。

つまり、指定したフォルダにメールが追加された場合に、ポップアップと音で知らせることができれば目的は達成されることになります。

マクロの作成はメニューバーから[ツール]-[マクロ]-[Visual Basic Editor]を選択します。

outlook20090214-1

下のマクロを貼り付けてください。この例ではtestフォルダをチェックして、仕分け機能で受信したメールがtestフォルダに追加されたらメッセージをポップアップします。

Public WithEvents myOlItems As Outlook.Items

Public Sub Application_Startup()
    '下のtestをチェックしたいフォルダ名に変更する
    strCheckFolder = "test"
    Set objInbox = Session.GetDefaultFolder(olFolderInbox)
    strFolderName = objInbox.Parent
    Set objMailbox = Session.Folders(strFolderName)
    Set objFolder = objMailbox.Folders(strCheckFolder)
    Set myOlItems = objFolder.Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)
    strMessage = "メールを確認してください"
    Set objShell = CreateObject("Wscript.Shell")
    Do While True
        If objShell.Popup(strMessage, 2, "メール到着", 64) = 1 Then Exit Do
    Loop
End Sub

こんなふうに貼り付けます

貼り付けたら、メニューバーから[ファイル]-[終了してMicrosoft Outlookへ戻る]を選びます。

次にマクロを有効にするため、メニューバーから[ツール]-[マクロ]を選ぶとマクロウインドウが表示されます。「実行」ボタンをクリックします。

最後にマクロの動作をチェックします。たとえば受信フォルダから適当なメールをtestフォルダに移動します。

以下のようなポップアップメッセージと音が鳴ればOKです。「OK」ボタンをクリックしない限り、2秒間隔でなんどもポップアップが音とともに表示されます。

次回は「特定メールが到着したら音声で知らせる」に挑戦します。

未分類

Posted by skw