2017 年 5 月以降にリリースされた Outlook 2016 の修正プログラム、または 6 月以降にリリースされた Outlook 2013 の修正プログラムを適用すると、以下のような現象が発生します。
- アプリケーションやマクロを実行するルールが (エラー) と表示される
- 新規ルール作成で「アプリケーションを開始する」や「スクリプトを実行する」というアクションが選択肢からなくなる
これは、セキュリティ強化に伴う動作変更です。
ただし、機能が完全に削除されたわけではなく、以下のレジストリ設定を行うことで引き続き「アプリケーションを開始する」や「スクリプトを実行する」というアクションが使用できるようになります。
Outlook 2016 のキー: HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security\
Outlook 2013 のキー: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security\
値の名前: EnableUnsafeClientMailRules
値の種類: REG_DWORD
値のデータ: 1
[…] ルールでマクロを実行する場合、Public Sub プロシージャ名(ByRef メール変数 As MailItem) として処理を行うプロシージャを定義し、ルールのスクリプトを実行するアクションとして指定します。ただし、2017 年 5 月以降にリリースされた修正プログラムを適用すると、スクリプトのアクションが新規に作成できなくなり、既存のものもエラーとなります。そのため、これを回避するにはこちらの記事で紹介しているレジストリ設定を行う必要があります。レジストリ設定を行った後、「連絡先をマクロで活用する」で紹介した「受信したメールの差出人を連絡先から検索する」マクロをルールで実行できるように書き換えると以下のようになります。なお、FindContactByAddress 関数は前述の記事で紹介したものに含まれていますので、既に登録済みであれば RewriteSenderAction のみをコピーしてください。 […]
[…] 情報源: Outlook 2016/2013 でルールによるアプリケーションやマクロの実行ができない … […]
[…] 以下のようなマクロで実現できます。 アイテムを開くか、アイテム一覧で複数のアイテムを選択した状態で、SaveAttachToFolderSelected マクロを実行すると、表示・選択されているアイテムの添付ファイルをご指定のフォーマットのフォルダーに保存します。こちらのページにある設定を行えば、SaveAttachToFolder をルールのスクリプトとして設定し、特定の条件のメールを受信したら自動的に保存するということも可能になります。 […]
[…] Outlook 2016-2013 でルールによるアプリケーションやマクロの実行ができない … […]