デスクワークを超絶快適にするおすすめギアたち詳しく見る

【初心者向け】Outlook マクロ(VBA)を使って時短しよう!

じょじお

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つの設定が必要

  1. Outlook セキュリティ設定を変更する。
  2. 開発タブを表示させる。

OutlookでVBAマクロを実行するための初期設定手順

Outlook VBAを使い始めるには2つの設定が必要

  1. Outlook セキュリティ設定を変更する。
  2. 開発タブを表示させる。

(STEP1)マクロのセキュリティ設定を変更する手順(マクロの設定)

Outlookではデフォルトではセキュリティのためにマクロが無効になっています。マクロには「マクロの設定」という専用のセキュリティレベルが用意されていて、トラストセンター(旧セキュリティセンター)から変更が可能です。

STEP
Outlookを起動して画面左上の「ファイル」をクリックします。
Outlook VBA マクロ
STEP
「オプション」をクリックします。
Outlook VBA マクロ
STEP
「トラストセンター」をクリックし「トラストセンターの設定」をクリックします。
Outlook VBA マクロ
STEP
左側メニューの「マクロの設定」をクリックしセキュリティレベルを選択します。
Outlook VBA マクロ

▲トラストセンター画面が開きますので左側メニューの「マクロの設定」をクリックします。画面右側にセキュリティレベルが表示されますので、マクロが実行できるセキュリティレベルを選択しましょう。わたしの環境ですと図の4つがありました。

マクロを実行するためには下記の2つのいずれかを選択すれば良いかと思います。

  • 「すべてのマクロに対して警告を表示する」
  • 「すべてのマクロを有効にする」

すべてのマクロに対して警告を表示する」は、マクロを実行するたびに警告のポップアップが表示されます。うっとおしいと思うかもしれませんが、意図しないマクロが自動実行されてしまうリスクを軽減できます。

すべてのマクロを有効にする」は、どんなマクロも警告なしで実行できます。マクロを頻繁に活用する場合は快適ですが、警告が表示されないため意図しないマクロが自動実行されてしまうリスクがあります。

STEP
Outlookを再起動します。

設定を反映させるために、Outlookを一旦×ボタンで閉じて再度起動します。

(STEP2)開発タブを表示する手順

Outlook VBAは、VB Editor(VBE)にプログラムを記述していきます。VBEは「開発」タブメニューからアクセスします。(Excel VBAと同じですね)しかし、デフォルトでは開発タブは非表示になっているため、開発タブを表示させましょう。

STEP
「ファイル」メニューをクリックします。
Outlook VBA マクロ
STEP
「オプション」をクリックします。
Outlook VBA マクロ
STEP
「リボンのユーザー設定」の中の「開発」タブにチェックオンします。
Outlook VBA マクロ

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

STEP
「開発」タブメニューが表示されます。
Outlook VBA マクロ

▲図のように開発タブが表示されたらOkです。

簡単なテストマクロを起動してみよう!

じょじお

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

STEP
VBEを開きます。
Outlook VBA マクロ

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

ぽこがみさま

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

VBEを開くショートカット

  • Alt+F11
Outlook VBA マクロ

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

STEP
標準モジュールを追加します。
Outlook VBA マクロ

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

Outlook VBA マクロ

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

STEP
標準モジュールにわかりやすい名前を付けます。
Outlook VBA マクロ

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

Outlook VBA マクロ

▲わたしは「MyFirstTestProgram」というモジュール名に変更しました。

プロパティウィンドウの表示・非表示方法

プロパティウィンドウが表示されていない場合

「プロパティウィンドウ」が表示されていない場合はVBEのメニュー「表示>プロパティウィンドウ」の順にクリックすると表示できます。邪魔な場合は同じ操作で非表示にできます。

STEP
VBAコードを記述します。
Outlook VBA マクロ

▲モジュールにプログラムを書きます。プログラムコードは真ん中の黒い部分に記述します。今回はテストとして下記のコードを実行してみます。

Sub test()
    MsgBox ("Hello.this is my first Outlook VBA macro")
End Sub

▲Excel VBAを使ったことがある方は見覚えがあるのではないでしょうか。メッセージを表示させるMsgboxです。Outlook VBAでも使用することができます。

STEP
マクロを実行します。
Outlook VBA マクロ

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

Outlook VBA マクロ

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

Outlook VBA マクロ

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

じょじお

以上でマクロの準備ができました。

Outlook マクロを使った時短のアイデア

Outlook時短術おすすめの本

▲情報も新しくMicrosoft 365にも対応した本です。わたしはOutlook歴10年以上ありますが知らないことがかなりあったのとOutlookもすごい進化してるんだなと思いました。365に乗り換えたばかりの方に読んでほしいです。

マクロを実行したり管理する方法

先ほどはVBEからマクロを実行しました。開発途中にテストする場合はこのようにVBEから実行します。しかし開発を終わったときはわざわざVBEを起動しなくてもOutlook画面からマクロを実行することができます。

じょじお

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

Outlookマクロの実行方法1

STEP
「開発>マクロ」をクリックします。
Outlook VBA マクロ
STEP
実行するマクロを選択して実行します。
Outlook VBA マクロ

▲マクロを選択して実行します。ここで表示されるマクロ名は「Project1.マクロ名」のような形で表示されます。モジュール名ではなくマクロ名です。

マクロ名はsubの横に記述する名前です。「sub test()」の場合はtestがマクロ名です。

Outlookマクロの実行方法2

じょじお

もう1個の起動方法はショートカットを使う方法です。この方が素早く呼び出せるの時短になります。

STEP
ショートカットキーを入力します。

マクロ一覧を開くショートカット

  • Alt+F8

ショートカットキー

STEP
マクロ一覧が表示されるので実行するマクロを選択して「実行」をクリックします。
Outlook VBA マクロ

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でVBAマクロを実行するための下準備ができました。あとはお好きなマクロをガシガシ作っちゃってください。

ぽこがみさま

Outlookのマクロアイデアにはついては他の記事でご紹介していこうと思います。そちらもみてくださいね!

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。RPA界隈では有名なRPAエンジニア集団である『ロボ研』さんが監修されている解説書です。テスト用の業務Webシステム/デスクトップ業務アプリを使いながら実践形式で学習できる点が一番のメリットかなぁと思います。

Power Automate クラウドフローの入門書です。日本語の解説書は数少ないのでレアかと思います。変数の解説から代表的なアクションの解説がされているので初心者におすすめの本です。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

この記事が気に入ったら
フォローしてね!

シェアしてくれたらウレシイ(·:゚д゚:·)
  • URLをコピーしました!
  • URLをコピーしました!
目次
閉じる