Excelからメールを自動作成しようとしても、エラーで止まってしまう…
参照設定を開いても「Microsoft Outlook 16.0 Object Library」が見当たらない。
今まで問題なく動いていたExcel VBAのメール作成マクロが、ある日を境に動かなくなることがあります。コードは一文字も変えていないのに、です。
Outlook自体は普通に開くため、「VBAのコードがおかしくなったのかな」と思い、参照設定やコードを触りたくなるかもしれません。
ただ、こうした症状が出たときに、まず確認したいのが「新しいOutlook」へ切り替わっていないかです。
新しいOutlookは、Excel VBAからOutlookを操作する従来の仕組みに対応していません。そのため、新しいOutlookへの切り替えが原因であれば、コードを修正するのではなく、クラシックOutlookに戻す必要があります。
この記事では、新しいOutlookからクラシックOutlookへ戻す方法と、自分がどちらのOutlookを使っているのかを見分ける方法を、画像を入れる位置も含めて順番に紹介します。
「その設定画面、どこにあるの?」で止まらないように、クリックする場所も省略せずに書いています。同じ画面を見比べながら進めてみてください!
また効率化ブログを運営している筆者が考える、生成AIの選び方を紹介した書籍をKindleにて公開しています。Kindle Unlimitedで無料で読める本ですので、ぜひこの機会に確認してみてください!
【結論】新しいOutlookではVBAが使えない
先に結論ですが、新しいOutlookは、VBAマクロに対応していません。
Microsoft公式の機能比較でも、クラシックOutlookではVBAマクロが使用可能、新しいOutlookでは非対応とされています。

その為、新しいOutlookアプリでは、設定やVBAの変更でマクロを使うことができません。
解決方法はシンプルで、従来のクラシックOutlookを起動して、VBAを実行すれば解決します。
右上に「新しいOutlook」というボタンがある場合は、そこをOFFにすることでクラシック版を使用することができます。
画像付きの詳しいやり方については、次の章で紹介します。
▼おすすめ書籍▼
【画像あり】クラシックOutlookを起動してVBAを実行する方法
ここからは、クラシックOutlookを起動してVBAを実行する方法を画像付きで紹介していきます。
手順1:右上の切り替えスイッチをクリックする
新しいOutlookを起動し、画面右上にある切り替えスイッチをクリックします。

現在の新しいOutlookでは、切り替えスイッチをクリックすると、次の2つの選択肢が表示されます。
- 従来のOutlookに戻る
- 今回はクラシックOutlookを使用する
まずVBAが動くか確認したいだけなら、「今回はクラシックOutlookを使用する」で大丈夫です。
この方法では、設定そのものは新しいOutlookのまま、今回だけクラシックOutlookを起動できます。
今後もクラシックOutlookを基本的に使用する場合は、「従来のOutlookに戻る」を選択してください。

手順2:Excelを開き直してVBAを実行する
クラシックOutlookが起動したら、Excelも一度閉じてから開き直し、VBAをもう一度実行してみてください。
Outlookを切り替えただけで直らない場合は、ExcelとOutlookの両方を閉じてから、Outlook、Excelの順番で開き直します。
新しいOutlookへの切り替えが原因であれば、これで以前のVBAが再び動く可能性が高いです。
参照設定を使ったコードの場合は、VBEの「ツール」から「参照設定」を開き、「Microsoft Outlook 16.0 Object Library」が選択されているかも確認します。

Outlookメールを自動作成するVBAと参照設定の手順は、次の記事で画像付きで解説しています。

※切り替えスイッチがない場合
右上に切り替えスイッチが見当たらない場合は、画面上部の「ヘルプ」から「従来のOutlookに移動」を選択しても切り替えられます。

また、直接クラシック版を選択することでも起動できるので、ボタンが見当たらない場合は、クラシック版を探して起動しましょう。

自分のOutlookがどちらなのか見分ける方法
「新しいOutlookに変えた覚えがない」という場合でも、アップデート後の案内などをきっかけに切り替わっていることがあります。
自分がどちらを使っているのか分からない場合は、右上に歯車の設定ボタンがあるかどうかを確認しましょう。
新しいOutlookには、画面右上に設定を開くための歯車アイコンがあります。

クラシックOutlookに戻せないときの対処法
会社のパソコンや新しく購入したパソコンでは、右上の切り替えスイッチが表示されないことがあります。
切り替えスイッチがない場合は、次の順番で確認してください。
スタートメニューから直接起動する
まず、スタートメニューで「Outlook」と検索し、Outlook(クラシック)が表示されるか確認します。
表示されている場合は、そのアイコンをクリックして直接起動してください。
毎回検索するのが面倒であれば、アイコンを右クリックし、「タスクバーにピン留めする」を選んでおくと使いやすくなります。

クラシックOutlookをインストールする
2024年以降に販売された一部のWindowsパソコンには、新しいOutlookだけが入っており、クラシックOutlookがインストールされていない場合があります。
スタートメニューにOutlook(クラシック)が表示されない場合は、Microsoft公式ページからインストールできます。

ただし、契約しているMicrosoft 365やOfficeのプランによっては、クラシックOutlookを利用できない場合があります。
会社のパソコンは情報システム部門に相談する
会社のパソコンでは、管理者が新しいOutlookへの切り替えや、クラシックOutlookの使用可否を制御していることがあります。
この場合、個人でレジストリなどを変更するよりも、情報システム部門へ相談した方がよいと思います。
相談するときは、「クラシックOutlookの方が使いやすい」という話ではなく、VBAが使えないことで発生する業務上の影響を伝えます。
- Excel VBAでメール作成を自動化していること
- 新しいOutlookでは既存のVBAが動かないこと
- 手作業に戻ると、何件のメール作成が必要になるのか
- 手作業によって、どの程度の時間が増えるのか
「毎月100件のメールを手作業で作ることになる」など、件数や時間まで伝えた方が、なぜクラシックOutlookが必要なのかを理解してもらいやすくなります。
クラシックOutlookでもVBAが動かない場合
クラシックOutlookへ戻してもVBAが動かない場合は、新しいOutlook以外に原因がある可能性があります。
特に、次のようなエラーが出ている場合は、参照設定やOfficeのインストール状態も確認してください。
- コンパイルエラー:ユーザー定義型は定義されていません
- 実行時エラー429:ActiveXコンポーネントはオブジェクトを作成できません
- 参照設定にMicrosoft Outlook 16.0 Object Libraryが表示されない
- 参照設定に「参照不可」と表示されている
ここで大事なのは、先にOutlookの種類を切り分けることです。
クラシックOutlookで同じコードが動けば、新しいOutlookへの切り替えが原因です。クラシックOutlookでも動かなければ、参照設定やVBAコード側を確認します。
順番を逆にすると、問題のないコードを何度も書き換えることになるため、まずはクラシックOutlookで動くかを確認してみてください
OutlookのVBAはいつまで使えるのか
「クラシックOutlookへ戻しても、すぐに使えなくなるのでは」と思うかもしれません。
Microsoftは、永続ライセンス版とサブスクリプション版で既にインストールされているクラシックOutlookについて、少なくとも2029年までサポートを継続すると案内しています。

そのため、現在使っているVBAを今すぐすべて作り直す必要はないと思います。
既存のVBAはクラシックOutlookで使い続け、新しく大がかりな自動化を作るときは、Power AutomateやMicrosoft Graphなども検討する。このくらいの考え方が現実的ではないでしょうか。
さいごに
今回は、新しいOutlookでVBAが使えない原因と、クラシックOutlookへ戻す方法を紹介しました。
ポイントは次の3つです。
- 新しいOutlookはVBAマクロに対応していない
- 既存のVBAを使う場合は、クラシックOutlookの起動が必要
- OutlookのVBAは少なくとも2029年までは使える
新しいOutlookへ切り替わった直後にVBAが動かなくなった場合は、コードを修正する前に、まずクラシックOutlookで同じコードを実行してみてください。
なお添付ファイル付きのOutlookメールを自動作成したい場合は、次の記事でコピペ用のVBAを紹介していますので、参考にしてみてください。

そのほかの実務で使えるVBAは、コード一覧ページにまとめています。
💻 まだまだあります!実務で使えるコピペコード集
当サイトで紹介している、日々の面倒な作業を自動化するVBA・マクロを一覧ページにまとめています!
さらに体系的に業務の自動化を知りたい方向けに、VBAを一から暗記するのではなく、コピペと生成AIを使って業務を効率化する方法をKindle書籍にまとめています。
Kindle Unlimitedで無料で読めますので、この機会にぜひ読んでみてください!
“`



コメント