外部VBA(例: ExcelのVBA)からOutlookを操作すると「アプリケーション定義またはオブジェクト定義のエラーです」が発生するという相談を受けました。
調べてみたところ、インスペクター オブジェクトのWordEditorプロパティに値が設定されていないことが判明。
実行時エラー ‘287’
アプリケーション定義またはオブジェクト定義のエラーです
事象が発生する環境においては、次のレジストリ値が0(自動的に拒否する)になっており、これを1か2に変更すると問題が解消することがわかりました。
HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\office\16.0\outlook\security
PromptOOMAddressInformationAccess
0: 自動的に拒否する
1: ユーザーに確認する (規定値)
2: 自動的に承認する
■情報源
電子メールのセキュリティ設定に関する情報 - Outlook
Outlook 2007 の電子メール セキュリティ設定に関する管理者向けの情報が含まれています。 Outlook 2007 でセキュリティ オプションを構成するために使用できるレジストリ設定をListsします。
グループポリシーでは次の設定によってこのレジストリ値を構成できます。
ユーザーの構成\ポリシー\管理用テンプレート\Microsoft Outlook 2016\セキュリティ\セキュリティ フォーム設定\プログラムによるセキュリティ
アドレス帳にアクセスするときのOutlookオブジェクト モデルに関する確認について構成する
設定値の選択肢は次の通りです。
なお、1(ユーザーに確認する)の場合は次のダイアログボックスが表示され、「許可」が選択されると問題無くマクロが動作します。