


Outlook にもExcelと同じようなマクロ機能が存在することをご存じでしょうか。マクロを使えばメールに関する操作を自動化して、ミスを防ぐことにも役立ちます。



この記事ではOutlookマクロを使い始める前にどんな作業が必要なのかと、できることについてまとめました。
この記事でわかること
- Outlook VBAでできることと苦手なことがわかる。
- Outlook VBAを導入する前にかならずやるべき作業の手順がわかる。
Outlook マクロとは?
Outlookマクロは、Outlookの機能をプログラミングで自動実行できる機能です。
マクロとVBAの違いは?
マクロは「メールの件名に◎◎と入力する!」とか、「宛先に●●さんのアドレスをセットする!」とか、「メールを送信する!」などの複数の処理を組み合わせてつくる処理のカタマリのことです。マクロを用いることで処理をひとつひとつを手作業でやらなくても、マクロを1回実行するだけで良くなったりします。
VBAは、このマクロを記述するための言語です。Outlookさんには日本語が通じないのでOutlookさんにも通じるVBAという言語を用いてマクロを書きます。
Outlook VBAでできることは?



Outlook VBAを使えばいろいろ面倒な作業が自動化できるよ。



たとえば私は以下のような作業を自動化しています。
Outlook VBAでできることの例
- メール作成時に添付ファイルピッカーを強制起動して、ファイルの添付忘れを防ぐ。
- メールの件名や本文に、当日の日付を自動挿入する。
- 添付ファイル名からメールの件名を自動作成する。
- ワンクリックでメール転送の時に宛先を追加する。
- などなど。
Outlook VBAを使い始めるには?
Outlookでは、初期設定ではOutlook VBAが使えない状態になっています。これはセキュリティのためです。このため利用を始める場合は、Outlookの2つの設定変更が必要となります。



とはいえ2~3分で終わる簡単な操作なので安心してください。
Outlook VBAを使い始めるには2つの設定が必要
- Outlook セキュリティ設定を変更する。
- 開発タブを表示させる。
OutlookでVBAマクロを実行するための初期設定手順
Outlook VBAを使い始めるには2つの設定が必要
- Outlook セキュリティ設定を変更する。
- 開発タブを表示させる。
(STEP1)マクロのセキュリティ設定を変更する手順(マクロの設定)
Outlookではデフォルトではセキュリティのためにマクロが無効になっています。マクロには「マクロの設定」という専用のセキュリティレベルが用意されていて、トラストセンター(旧セキュリティセンター)から変更が可能です。








▲トラストセンター画面が開きますので左側メニューの「マクロの設定」をクリックします。画面右側にセキュリティレベルが表示されますので、マクロが実行できるセキュリティレベルを選択しましょう。わたしの環境ですと図の4つがありました。
マクロを実行するためには下記の2つのいずれかを選択すれば良いかと思います。
- 「すべてのマクロに対して警告を表示する」
- 「すべてのマクロを有効にする」
「すべてのマクロに対して警告を表示する」は、マクロを実行するたびに警告のポップアップが表示されます。うっとおしいと思うかもしれませんが、意図しないマクロが自動実行されてしまうリスクを軽減できます。
「すべてのマクロを有効にする」は、どんなマクロも警告なしで実行できます。マクロを頻繁に活用する場合は快適ですが、警告が表示されないため意図しないマクロが自動実行されてしまうリスクがあります。
設定を反映させるために、Outlookを一旦×ボタンで閉じて再度起動します。
(STEP2)開発タブを表示する手順
Outlook VBAは、VB Editor(VBE)にプログラムを記述していきます。VBEは「開発」タブメニューからアクセスします。(Excel VBAと同じですね)しかし、デフォルトでは開発タブは非表示になっているため、開発タブを表示させましょう。






▲左側メニューの中の「リボンのユーザ設定」をクリックして、図の「開発」タブにチェックを入れます。チェックをいれたらOKボタンを押して「Outlookのオプション」画面を閉じます。


▲図のように開発タブが表示されたらOkです。
簡単なテストマクロを起動してみよう!



準備ができたので簡単なマクロを記述してみてテストしてみましょう!


▲Outlookメニューの中の「開発」をクリックします。開発タブに切り替わりましたら「Visual Basic」をクリックします。



VBEはショートカットでも開けます。その方が早いのでおすすめです!
VBEを開くショートカット
- Alt+F11


▲VBEが開きます。左側がモジュールを管理する「プロジェクトエクスプローラー」です。真ん中の黒い画面がコードを記述するコードペインです。


▲「挿入」メニューをクリック、「標準モジュール」をクリックします。


▲すると「標準モジュール」の中に「Module1」が追加されます。


▲Module1という名前だと、どんなプログラムなのかわかりにくいので名前をつけましょう。名前を変更するにはModule1を選択した状態で画面右下のプロパティウィンドウに表示された「オブジェクト名」に名前をタイプします。モジュール名にはなるべく日本語は使わない方がいいです。


▲わたしは「MyFirstTestProgram」というモジュール名に変更しました。
プロパティウィンドウが表示されていない場合
「プロパティウィンドウ」が表示されていない場合はVBEのメニュー「表示>プロパティウィンドウ」の順にクリックすると表示できます。邪魔な場合は同じ操作で非表示にできます。




▲モジュールにプログラムを書きます。プログラムコードは真ん中の黒い部分に記述します。今回はテストとして下記のコードを実行してみます。
Sub test() MsgBox ("Hello.this is my first Outlook VBA macro") End Sub
▲Excel VBAを使ったことがある方は見覚えがあるのではないでしょうか。メッセージを表示させるMsgboxです。Outlook VBAでも使用することができます。


▲プログラムを実行するには「実行ボタン」をクリックします。あるいはF5キー押下でも実行できます。


▲マクロを実行するとプログラムに記述されたmsgbox関数が呼び出されてメッセージボックスが表示されます。


▲メッセージもきちんと表示されています。はじめてのマクロの成功です。



以上でマクロの準備ができました。
Outlook マクロを使った時短のアイデア






▲情報も新しくMicrosoft 365にも対応した本です。わたしはOutlook歴10年以上ありますが知らないことがかなりあったのとOutlookもすごい進化してるんだなと思いました。365に乗り換えたばかりの方に読んでほしいです。
マクロを実行したり管理する方法
先ほどはVBEからマクロを実行しました。開発途中にテストする場合はこのようにVBEから実行します。しかし開発を終わったときはわざわざVBEを起動しなくてもOutlook画面からマクロを実行することができます。



実行方法は2つあります。おすすめはクリック数が少ない後者の実行方法です。
Outlookマクロの実行方法1




▲マクロを選択して実行します。ここで表示されるマクロ名は「Project1.マクロ名」のような形で表示されます。モジュール名ではなくマクロ名です。
マクロ名はsubの横に記述する名前です。「sub test()」の場合はtestがマクロ名です。
Outlookマクロの実行方法2



もう1個の起動方法はショートカットを使う方法です。この方が素早く呼び出せるの時短になります。
マクロ一覧を開くショートカット
- Alt+F8
ショートカットキー


Outlook VBAのデメリットは?



Outlook VBAのデメリットについてもまとめてみました。
Outlook VBAのデメリット
- Excel VBAの情報と比べて情報量が圧倒的に少ない。
- 初心者には若干ハードルが高い。
- トリガー実行には向いていない。
- Excelにある「マクロの記録」が使えない。
Outlook VBAは情報量が少ない?
Excel VBAの検索結果( 74,600,000 件)に比べて、Outlook VBAの検索結果は(約 19,200,000 件)と情報量が少ないです。
Outlook VBAは初心者には難しい?
情報量が少ない(特に初心者向け)のでプログミングに慣れていない方には難しく感じるかもしれません。難しく感じる方はPower Automate for desktopなどでの操作を検討してみると解決するかもしれません。
Power Automate for desktopはWindowsユーザーなら誰でも無償で利用することができるMicrosoftのRPAソフトウェアです。






Outlook VBAはトリガー実行には向いていない?
メール受信時にメール操作を自動化するには、PCを常時起動してOutlookを起動しっぱなしにしないといけません。こういうことをする場合はPower Automateの方が向いています。
Power Automateでしたらクラウド上でフローが実行されますので、ローカルPCの状態に依存しません。また、他のクラウドサービス(Excel・Sharepoint・Google sheetsなど)との連携も簡単です。






Outlookでは「マクロの記録」が使えない?
Excel VBAには、ユーザの操作をVBAコードに変換する「マクロの記録」機能があります。1からコードを記述するよりも時短できて初心者にはうれしい機能なのですが、Outlookでは「マクロの記録」機能は使うことができません。
マクロを実行するとエラー画面が表示されるときの対処法は?
「このプロジェクトのマクロは無効に設定されています。マクロを有効にする方法についてはオンラインヘルプまたはホストアプリケーションのドキュメントを参照してください。」の警告について


このプロジェクトのマクロは無効に設定されています。マクロを有効にする方法についてはオンラインヘルプまたはホストアプリケーションのドキュメントを参照してください。
マクロ実行時の警告
マクロが実行できなかったり、上の図のような警告画面が表示される場合は、マクロのセキュリティ設定が正しく反映できていません。もう一度こちらの手順をご確認ください。
まとめ



この記事でOutlookでVBAマクロを実行するための下準備ができました。あとはお好きなマクロをガシガシ作っちゃってください。



Outlookのマクロアイデアにはついては他の記事でご紹介していこうと思います。そちらもみてくださいね!
Power Automate学習教材
▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。
▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。RPA界隈では有名なRPAエンジニア集団である『ロボ研』さんが監修されている解説書です。テスト用の業務Webシステム/デスクトップ業務アプリを使いながら実践形式で学習できる点が一番のメリットかなぁと思います。
▲Power Automate クラウドフローの入門書です。日本語の解説書は数少ないのでレアかと思います。変数の解説から代表的なアクションの解説がされているので初心者におすすめの本です。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。