Office関連

[Outlook]仕分けルールでスクリプト(マクロ)を実行する。

Msdn フォーラムにあった質問関連でメモを残しておきます。

Outlookでは、

仕分けルールと通知の管理

新しい仕分けルール

自動仕分けウィザード

の「ステップ 1: 処理を選択してください」にある「スクリプト を実行する」でマクロを指定すると、メッセージ受信時に任意のマクロを実行できるのですが、

Outlook_Rule_Script_01

Sub Test()
  MsgBox "Hello."
End Sub

のようなマクロでは、スクリプト(マクロ)を選択するダイアログに表示されず、実行することができません。

どのようなマクロなら実行できるのかと言えば、下記コードを標準モジュール(ThisOutlookSessionでも可)に貼り付けてみるとよく分かります。

Option Explicit

Public Sub MailItemProc1(ByRef Item As Outlook.MailItem)
  MsgBox Item.Subject, vbSystemModal + vbInformation
End Sub

Public Sub MeetingItemProc1(ByRef Item As Outlook.MeetingItem)
  MsgBox Item.Subject, vbSystemModal + vbExclamation
End Sub

Private Sub MailItemProc2(ByRef Item As Outlook.MailItem)
  MsgBox Item.Subject, vbSystemModal + vbInformation
End Sub

Private Sub MeetingItemProc2(ByRef Item As Outlook.MeetingItem)
  MsgBox Item.Subject, vbSystemModal + vbExclamation
End Sub

Public Sub MailItemProc3(ByVal Item As Outlook.MailItem)
  MsgBox Item.Subject, vbSystemModal + vbInformation
End Sub

Public Sub MeetingItemProc3(ByVal Item As Outlook.MeetingItem)
  MsgBox Item.Subject, vbSystemModal + vbExclamation
End Sub

Public Sub MailItemProc4(ByRef Item As Object)
  MsgBox Item.Subject, vbSystemModal + vbInformation
End Sub

Public Sub MeetingItemProc4(ByRef Item As Variant)
  MsgBox Item.Subject, vbSystemModal + vbExclamation
End Sub

Public Sub MailItemProc5()
  MsgBox "Hello.", vbSystemModal + vbInformation
End Sub

Private Sub MeetingItemProc5()
  MsgBox "Hello.", vbSystemModal + vbExclamation
End Sub

上記コードのうち「スクリプトの選択」ダイアログに表示されるのは「MailItemProc1」と「MeetingItemProc1」だけです。

Outlook_Rule_Script_02

つまり、仕訳ルールで使えるスクリプト(マクロ)は、

  1. Publicスコープ
  2. 引数にMailItemMeetingItemを持つ
  3. 引数はByRef

上記条件を満たしたもの、ということになります。
詳細については「How to create a script for the Rules Wizard in Outlook」に記載があるのですが、知っていないと「なんで選択ダイアログに出てこないの?」と、引っ掛かってしまいますね。

関連記事

  1. Office関連

    ガイドを追加するPowerPointマクロ

    PowerPointで図形の位置を調整するときに役立つガイド機能(ガイ…

  2. Office関連

    パスワード付のPDFファイルを作成するExcelマクロ

    2019/8/16 追記:WordやPowerPointにも対応し…

  3. Office関連

    Trello APIを使ってカードを投稿するVBAマクロ

    以前Fiddlerを使ってTrello APIを実行する記事を書きまし…

  4. Office アドイン

    [Officeアドイン]枠線(目盛線)の表示・非表示を切り替える方法

    ここ二週間ほど体調を崩していたので久しぶりのブログ更新です。久…

  5. アイコン一覧

    Office 365アイコン(imageMso)一覧(A)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  6. Office関連

    「Office 2003 のコマンドに対応する Office 2010 のリファレンス ブック」のダ…

    クリックさんのブログ記事「旧メニュー対応表を使いたい: パソコンのツボ…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP