ExcelやWordなどのOfficeアプリケーションから、またはOutlook自身のVBAを使って、メールを自動で作成・表示させたい場合があります。この記事では、VBA(Visual Basic for Applications)を利用して新しいOutlookメールアイテムを作成し、画面に表示させる基本的な手順とコードを紹介します。
前提条件・準備
このコードを実行するには、Microsoft Outlookがインストールされている環境が必要です。また、Excelなどの外部アプリから実行する場合は、VBAエディタ(Alt + F11)の「ツール」>「参照設定」から「Microsoft Outlook 16.0 Object Library」等への参照を追加するか、またはオブジェクト変数を遅延バインディング(CreateObject)で宣言してください。OutlookのVBAエディタから直接実行する場合は特別な事前設定は不要です。
最小の実行例(完全なコード)
Sub MakeMessage()
Dim OutlookMessage As Outlook.MailItem
' 新規メールアイテムを作成
Set OutlookMessage = Application.CreateItem(olMailItem)
With OutlookMessage
.To = "example@example.com"
.Subject = "テスト件名"
.Body = "これはテストメールの本文です。"
.Display ' 画面にメールを表示する
End With
' オブジェクト変数を解放
Set OutlookMessage = Nothing
End Sub
使い方と実行手順
- Outlookを起動し、[Alt] + [F11] キーを押してVBAエディタを開きます。
- メニューの「挿入」>「標準モジュール」をクリックします。
- 上記のコードを貼り付けます。
- [F5] キーを押すか、上部の再生ボタンを押してマクロを実行します。
実行すると、宛先・件名・本文が入力された状態の新しいメール作成ウィンドウが画面に表示されます。.Displayメソッドの代わりに .Send メソッドを使用すると確認なしで直接送信することも可能ですが、意図しない送信を防ぐために最初は .Display による動作確認をおすすめします。
公式情報・一次情報
プロパティやメソッドの詳細については、Microsoft Learn の MailItem オブジェクトのドキュメントをご確認ください。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 追加OutlookのVBAを利用したメール作成手順における前提条件と使い方、実行手順の解説を追加しました。
- 追加宛先(To)や本文(Body)を設定する方法を示すコード例と解説を追加しました。

