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」に記載があるのですが、知っていないと「なんで選択ダイアログに出てこないの?」と、引っ掛かってしまいますね。

[Officeアドイン]アドイン コマンド(Add-In Commands)の紹介(2)前のページ

オトカドール ヴェリタスコーデでメテオストライク打ってきたよ。次のページ

関連記事

  1. Office関連

    VBAの力量をはかる3つの質問

    先日、Twitterではけた氏の面白いツイートがありました。3…

  2. Office関連

    コマンドマクロ一覧(Word 2013)

    Word 2013に組み込まれている「コマンドマクロ」のコマンド名、説…

  3. アイコン一覧

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

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

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP