実現したいこと
Excelのマクロ機能を使用し、outlookでメール送信したいです。
発生している問題・分からないこと
ツール→参照設定を開いても
「microsoft outlook ● object library」がありません。
下記エラーが出るのは、上記設定ができていないためと思っております。
エラーメッセージ
error
1マクロを実行すると、下記エラーが発生します。 2 3------------------------------------------------------------- 4実行時エラー 429 5 6ActiveXコンポーネントはオブジェクトを作成できません 7-------------------------------------------------------------
該当のソースコード
Sub SendEmailWithConfirmation() Dim OutApp As Object Dim OutMail As Object ' Outlookアプリケーションを取得 Set OutApp = CreateObject("Outlook.Application") ←実行すると、ここが黄色くなります Set OutMail = OutApp.CreateItem(0)
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
https://www.sejuku.net/blog/76520
こちらの「参照設定を追加する方法」項目で追加しようとしましたが、
そもそも「MSOUTL.OLB」ファイルがなかった為、断念しました。
補足
OS :Windows11
Excel :2021
マクロのライブラリ:Microsoft Office 16.0 Object Library
Outlook:1.2025(新しいOutlook)
> OS :Windows11
> Excel :2021
> Outlook:16.0
「Outlook:16.0」とはどういう意味でしょうか?
記載を間違えておりました。
これはExcelのマクロで、現状参照しているライブラリになります。
本文を下記のように修正しました。
マクロのライブラリ:Microsoft Office 16.0 Object Library
> OS :Windows11
> outlookでメール送信
従来のOutlookではなく、新しいOutlookを使用していたりはしないでしょうか。
https://support.microsoft.com/ja-jp/office/%E6%89%80%E6%9C%89%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B-outlook-%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%8C%E4%B8%8D%E6%98%8E%E3%81%AA%E5%A0%B4%E5%90%88-b3a9568c-edb5-42b9-9825-d48d82b2257c
> 記載を間違えておりました。
> これはExcelのマクロで、現状参照しているライブラリになります。
質問本文には「ツール→参照設定を開いても
「microsoft outlook ● object library」がありません。」
との記載がありますが、これは間違いで参照設定は完了しているがマクロを実行するとエラーが出るという状況なのですね?
またOutlookのバージョンは何でしょうか?
> 従来のOutlookではなく、新しいOutlookを使用していたりはしないでしょうか。
アイコンに「New」の表記はありませんが、ホームタブを押すと、
新規メールボタンがでるので、新しいOutlookのようです。
もしかして新しいOutlookには適用していないのでしょうか?
> 「microsoft outlook ● object library」がありません。」
との記載がありますが、これは間違いで参照設定は完了しているがマクロを実行するとエラーが出るという状況なのですね?
「microsoft outlook ● object library」がない為、参照設定は完了していません。
ただし、「Microsoft Office 16.0 Object Library」への参照設定は完了しています。
> またOutlookのバージョンは何でしょうか?
1.2025でした。
新しいoutlookではVBA等での自動化はできなくなるようですね。代替手段はあるようですが。
https://www.vbarpa.com/post/outlook-vba%E3%80%81%E3%81%84%E3%81%A4%E3%81%BE%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%93%EF%BC%9F
https://note.com/mobazou/n/ne4d8aa875a68
そうだったんですね。。。
ご回答ありがとうございます。
下記理解で正しいでしょうか?
Outlookは「新しいOutlook」になっている
→ ExcelとOutlookは連携している(?)ので、ExcelはOutlookが新しくなった事を認識している
→ Excelのマクロ参照設定で、「microsoft outlook ● object library」 は表示されない
> → Excelのマクロ参照設定で、「microsoft outlook ● object library」 は表示されない
表示されないというかオブジェクト自体が存在しないのだと思います。
新しいOutlookはExcel VBAで操作できなくなったようです。またPowerAutomateも非対応のようです。
https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/actions-reference/outlook
Outlook JavaScript APIとういうものがあるようです。
https://learn.microsoft.com/ja-jp/javascript/api/requirement-sets/outlook/outlook-api-requirement-sets?view=common-js-preview&tabs=jsonmanifest
資料頂き、ありがとうございます!
確認してみます
私も最近ExcelとOutlook連携させたVBA書いたばかりだったのに・・・
上の記事によると2029年までは今のOutlook使えるみたいですが。
> 可能であれば元のOutlookに戻すのが良いでしょう。
> https://curio-shiki.com/blog/office/what-is-new-outlook
インストーラーをダウンロードまではしましたが、
インストールによって、万が一Excelの使えなくなる。といった事が発生すると怖いので、断念しました。
お手数ですが、「元のOutlookに戻す」事で解決する。
という内容で回答に記入頂けないでしょうか。
よろしくお願いします。
> インストーラーをダウンロードまではしましたが、
「元に戻す」ボタンは無かったですか?昨年の9月頃まではあったそうですが(https://curio-shiki.com/blog/office/what-is-new-outlook)もう無くなっちゃったんですかね。
> 「元に戻す」ボタンは無かったですか?
「従来のOutlookに移動」ボタンがあり、これを押すと、
インストーラーをダウンロードするように促されます。
ひとまず、できない。という事がわかってよかったです。
ありがとうございます

回答1件
あなたの回答
tips
プレビュー