Outlook - VBAを使い始める
以下では、Outlook 2013について記載します。試行錯誤を後追いで思い出しながら書いているので、間違えているところがあるかもしれません。特に作業の順番は、もう一度やるならこうやるだろう、みたいな感じで書いていますので、前後している可能性があります。
自己証明書を作成する
あとで自分の書いたコードが安全であることをマークするために、自己証明書を作成しておきます。
C:\Program Files\Microsoft Office\Office15 あたりにあるselfcert.exe を実行する
わかりやすい名前を付けて証明書を作成する
インストール時の設定によってはselfcert.exeがないこともあるようです。その場合は追加でインストールするなどします。
開発タブを表示する
マクロの開発・実行のためのリボンは、デフォルトでは非表示になっているので表示させます。
「ファイル」-「オプション」-「リボンのユーザー設定」で、「開発」にチェックを入れる
マクロのセキュリティを設定する
「開発」タブの「マクロのセキュリティ」をクリックし、セキュリティセンターを開く
「デジタル署名されたマクロに対しては警告を表示し、・・・」を選択
プロジェクトに署名する
セキュリティ向上のため、Outlookでは基本的にはマクロを実行しないような設定になっています。さきほど作成した自己証明書でプロジェクトを署名することにより、実行しても安全であるとOutlookに宣言することができます。
「開発」タブの「Visual Basic」をクリックし、Microsoft Visual Basic for Applicationsを開く
「ツール」ー「デジタル署名」で「選択」をクリックし、さきほど作成した自己証明書を選択する
Ctrl+Sでプロジェクトを保存する
Outlookを再起動する
「Microsoft のセキュリティに関する通知」ダイアログが表示されるので、「この発行者のドキュメントをすべて信頼する」をクリックする
動作確認
正しく設定できているかどうか、実際にマクロを書いて実行してみます。
Microsoft Visual Basic for Applicationsを開いたら、「Project」-「Microsoft Outlook Objects」の「ThisOutlookSession」をダブルクリックしてコードウィンドウを開き、下のコードを入力します。
code:vba
Public Sub VbaTest()
MsgBox "Success"
End Sub
開発タブの「マクロ▼」で「Project1.ThisOutlookSession.HelloWorld」を選択します。メッセージボックスが表示されたら成功です。