仕分けルールのアクションでスクリプト(マクロ)を使用可能にする [Outlook 2019]
※この記事で使用しているOutlookのバージョンは、Microsoft Office 2019のバージョン2006 (ビルド13001.20384)です。
私用メールは長らくOutlook 2010で管理していたんだけど、今年10月でOffice 2010共々サポート・セキュリティパッチの提供が終了するとのことで、新しいPCにプリインストールされているOutlook 2019へ移行しているところ。まず、初回起動時のアカウントの設定でYahooメール (POP)を追加する所からして少し手こずったが、これは何とか自力で解決。メールデータも*.pstファイルを新しいPCに移して取り込み完了。仕分けルールはメールデータに含まれていたようで、これは別途でインポートする必要はなかった。
Outlook 2010では特定の受信メールに「期限切れ日時」を設定する自作マクロ(→受信して指定時間経過したメールを自動削除)をアクションに指定していたのだけど、Outlook 2019に移行したところ、仕分けルールのリストにエラーが出ていた。
ルールを編集しようと下線部をクリックすると、「現在のモードで、この仕分けルールは使用できません。」という理解不能なメッセージが出るだけで、編集ができなくなっている。
オプションの「トラストセンター」にある「マクロの設定」は旧バージョンと同じように変えているので、マクロは有効になっているはずなのだが。
自力でどうにもなりそうにないのでネットで調べてみると、Outlook 2013以降かつ2017年にリリースされた更新プログラムを適用している場合、仕分けルールのアクションにあった「スクリプトを実行する」は既定では不可視・使用不可になったらしい。私が使用しているOutlook 2019にはこの更新は含まれていると考えて良いだろう。
この問題の解決方法は他所で既出のOutlook 2016の場合とほぼ同様。「ほぼ同様」と言うのは、Outlook 2019では状況が少し異なるからだ。
解決方法はトリッキーだがシンプルで、レジストリエディターを使ってHKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security
キーにDWORD値でEnableUnsafeClientMailRules
を作成し、値を1
に設定すればいい。
ところが、Outlook 2019の場合は初期状態だとHKEY_CURRENT_USER\Software\Microsoft\Office
までのキーしか存在しない。
この場合、自分でキーを作成すればいい。「Office」キーを選択したら右クリックして「新規」→「キー」を選び、「16.0」(これはOutlook 2016と2019の場合)と入力してOK。以下同じようにして「Outlook」「Security」キーまで作成してから、DWORD値「EnableUnsafeClientMailRules」(値 1)を作成する。
そうしてからOutlookを再起動し、先の仕分けルール一覧で下線部をクリックすると、VBAにサブルーチンを記述済みであれば「スクリプトの選択」から選べるようになっているので、実行したいサブルーチンの名称を選ぶ。