新しいOutlookでマクロのメール送信が動かないのはなぜ?このPCで試した結果と、代わりの送り方3つ
新しいOutlookでExcelのマクロのメール送信が動かないのは、新しいOutlook for WindowsがVBAとCOMアドインを受け付けないためです。マクロが呼べるのは従来のOutlookだけで、このPCでは従来版がない状態の再現でErr 429、アカウントがない状態で初回設定の画面のまま止まりました。従来版に戻すか、SMTP・Power Automate・Microsoft Graphで送る形に替えます。(2026年10月時点)
読み解きから直す・置き換えるまでの流れと費用はExcelマクロの引き継ぎのページにまとめています。
要点
- 新しいOutlookはVBAとCOMアドインを受け付けず、マクロのCreateObjectは従来のOutlookにしか届きません。
- このPCでは、従来版がない状態の再現でErr 429が0.0秒で出て、マクロはすぐ止まりました。
- 従来版はあるがアカウントがない状態では、エラーが出ないまま初回設定の画面で100秒以上止まりました。
- 代わりの送り方の手順の数は、SMTP 4、Power Automate 5、Microsoft Graph 7でした。
- 従来のOutlookの今あるインストールは、少なくとも2029年までサポートされます。
目次
新しいOutlookでマクロのメール送信が止まるのは、なぜですか?
新しいOutlook for WindowsがVBAとCOMアドインを受け付けず、マクロからは呼べないためです。マクロのCreateObject(“Outlook.Application”) が起動するのは、従来のOutlook(OUTLOOK.EXE)だけです。引き継いだマクロ全体の読み解き方は、Excelマクロの引き継ぎにまとめています。
Microsoftの説明(2026年5月29日更新)にも「New Outlook for Windows doesn’t support VBA」とあります。マクロの守りがこのPCで試すと、止まり方は従来のOutlookの状態で3つに分かれました。
| このPCの状態 | マクロに出たもの | 止まるまで |
|---|---|---|
| 従来のOutlookが入っていない(登録のない名前で再現) | Err 429「ActiveX コンポーネントはオブジェクトを作成できません。」 | 0.0秒 |
| 従来のOutlookはあるが、アカウントがない | 「Microsoft Outlook 2016 へようこそ」の画面。エラーは出ない | 100秒待っても戻らず |
| アカウントのない空のプロファイルだけある | Err 287「アプリケーション定義またはオブジェクト定義のエラーです。」 | 0.2秒 |
このPCで送信マクロを動かすと、どんなエラーが出ましたか?
いちばん困るのは、エラーが出ないまま止まる場合でした。アカウントのない従来のOutlookでは、初回設定の画面が裏で開き、マクロは100秒待っても次の行へ進みませんでした。
試したPCには、Microsoft 365 Apps 16.0.20430(64bit)と新しいOutlook 1.2026.303.100が入っています。Windowsの登録では、Outlook.Applicationの行き先は従来のOUTLOOK.EXEでした。新しいOutlookが登録するCOMの部品は3つで、Outlook.Applicationはありません。
CreateObjectそのものは10.8秒(2回目は2.9秒)で成功し、従来のOutlookが裏で起動しました。止まったのは、その次の行です。
VBAはOffice共通のVBA 7.01で、Excelの設定を変えずに済むようAccessの標準モジュールで動かしました。書き方はExcelのマクロと同じです。
Set ol = CreateObject("Outlook.Application")
Set m = ol.CreateItem(0)
m.To = "test@example.invalid"
m.Subject = "VBA test (not sent)"
m.Save ' 下書きに保存するだけ。.Send は呼ばない
手順はoutlook_com_test.ps1にあり、メールは1通も送っていません。限界もあります。従来のOutlookがないPCは、登録のない名前を呼んで再現しました。初回設定の画面を途中で止めると空のプロファイルが残り、次からはErr 287に変わります。
従来のOutlookに戻せば、いつまで使えますか?
今ある従来のOutlookは、少なくとも2029年までサポートされます。Microsoftの説明(2026年2月23日更新)では移行は3段階で、今は新しいOutlookが既定でオフの段階です。今なら戻せます。
次の段階では新しいOutlookが既定でオンになりますが、従来版に戻せます。最後の段階では戻せなくなり、新しく入れるMicrosoft 365のOutlookは新しいOutlookになります。どちらの段階も、12か月以上前に予告すると書かれています。
戻すのは、今日マクロを動かすための手当てです。従来版が入っていないPCでは使えません。2029年より先も続ける業務なら、送る処理をOutlookから切り離しておきます。
代わりの送り方は、どれがいちばん手間が少ないですか?
Outlookを使わない送り方では、手順の数はSMTPが4つでいちばん少なく、Power Automateが5つ、Microsoft Graphが7つでした。ただしMicrosoft 365のメールを使う会社では、SMTPは先に設定の確認が要ります。
| 送り方 | 手順 | 管理者の作業 | マクロ側の変更 | 気をつけること |
|---|---|---|---|---|
| 従来のOutlookに戻す | 2 | 不要 | なし | 最後の段階では戻せない |
| SMTPで送る | 4 | 送信用アカウント | 送信部分を書き換え | Microsoft 365は基本認証の廃止を予告済み |
| Power Automate | 5 | 不要 | 送信部分を外す | 宛先の表は.xlsxか.xlsb |
| Microsoft Graph | 7 | アプリ登録と同意 | トークンと送信の処理 | 作れる人が社内に要る |
数え方は次のとおりです。どれも最後の試し送りを1手順に数えました。
- 従来のOutlookに戻す:切り替えをオフにする→試し送り
- SMTP:サーバー名・ポート・送信用アカウントを確かめる→パスワードの置き場所を決める→送信部分を書き換える→試し送り
- Power Automate:宛先の表をOneDriveかSharePointの.xlsxに置く→フローを作る→表の行を読む操作を足す→行ごとに「メールの送信 (V2)」を足す→試し送り
- Microsoft Graph:Entra IDにアプリを登録→Mail.Sendの許可を足す→管理者が同意→シークレットか証明書を作る→トークンを取る処理→sendMailを呼ぶ処理→試し送り
送る件数や添付が多いマクロは、どの送り方に替えればよいですか?
宛先の一覧をExcelの表にでき、添付が少なければPower Automateが合います。添付や宛先の組み立てが複雑ならMicrosoft Graphです。会社のメールがレンタルサーバーなどなら、SMTPがいちばん早く済みます。
Power Automateは、職場のアカウントなら無料のライセンスで標準のコネクタを使えます。Office 365 OutlookとExcel Online (Business) はどちらも標準です。行を読む操作は既定で256行までなので、それより多いときはページ分割をオンにします。送信は1つの接続で60秒に300回までです。
Microsoft GraphのsendMailは、添付ファイルも同じ呼び出しで送れます。送ったメールは既定で送信済みアイテムに残ります。Microsoft 365のSMTP AUTHは、セキュリティの既定値が有効なテナントではすでに無効です。基本認証の廃止も予告されています。
替えるのは送る部分だけです。どの送り方でも、宛先・件名・添付を作る部分はマクロに残せます。マクロの守りでは、送る部分だけを切り出して、それ以外の集計は今のマクロのまま使い続ける形をまず考えます。
このサイトで相談するには?
止まった送信マクロをどの送り方に替えるかは、件数や添付、メールの環境で変わります。何をどう頼むか決まっていなくても大丈夫で、準備は要りません。マクロの守りが、御社のやり方に合わせて、進め方を一緒に考えます。無料で相談する
よくある質問
- 新しいOutlookの切り替えをオフにすれば、マクロは元どおり送れますか?
- 従来のOutlookにアカウントが設定してあれば、マクロが呼ぶのは従来版なので送る処理に戻れます。このPCでは送信までは試していません。
- Outlookの中に書いたVBA(Outlookのマクロ)も動きませんか?
- はい、動きません。Microsoftは、新しいOutlook for WindowsはVBAをサポートしないと書いています。使い続けるなら従来のOutlookで動かします。
- Power Automateで送ると、別の料金がかかりますか?
- 職場のアカウントなら、標準のコネクタだけのフローは無料のライセンスで作れます。Office 365 OutlookとExcel Online (Business)はどちらも標準です。
- エラー429が出たら、まず何を確かめますか?
- PCに従来のOutlook(OUTLOOK.EXE)が入っているかを確かめます。新しいOutlookだけのPCでは、マクロが呼べるOutlookがありません。
この記事の実験・計算の条件
新しい Outlook と従来の Outlook に、マクロから送信を試した結果。この記事の筆者の PC で、2026年10月16日。
出典
- Microsoft Learn「Identify COM add-ins in your organization」(2026年5月29日更新)(2026年10月16日確認)
- Microsoft Learn「Stages of migration to new Outlook for Windows」(2026年2月23日更新)(2026年10月16日確認)
- Microsoft Learn「user: sendMail - Microsoft Graph v1.0」(2026年6月19日更新)(2026年10月16日確認)
- Microsoft Learn「Enable or disable SMTP AUTH in Exchange Online」(2026年10月7日更新)(2026年10月16日確認)
- Microsoft Learn「Deprecation of Basic authentication in Exchange Online」(2026年7月16日更新)(2026年10月16日確認)
- Microsoft Learn「Types of Power Automate licenses」(2026年9月22日更新)(2026年10月16日確認)
- Microsoft Learn「Office 365 Outlook - Connectors」(2026年10月1日更新)(2026年10月16日確認)
- Microsoft Learn「Excel Online (Business) - Connectors」(2026年7月11日更新)(2026年10月16日確認)