当サイトの記事にはプロモーションが含まれています。

VBAでOutlookメールを作成し、複数の添付ファイルを送信する方法

パソコンパソコン・スマホ教室
スポンサーリンク

皆さん、こんにちは。今日は、ExcelのVBAを使ってOutlookのメールを自動作成し、複数のファイルを添付する方法をご紹介します。パソコンやスマホがちょっと苦手な方でも大丈夫です。ゆっくり一緒に学んでいきましょう。

スポンサーリンク

VBAとOutlookの基本的な連携方法

Outlookのイメージ

Outlookのイメージ

まず、ExcelとOutlookを連携させるための基本的な手順をお伝えします。

1. 参照設定の追加

最初に、ExcelのVBAでOutlookを操作できるように設定を行います。

  1. Excelを開き、AltキーとF11キーを同時に押してVBAの編集画面を表示します。
  2. 上部のメニューから「ツール」をクリックし、「参照設定」を選択します。
  3. 表示された一覧から「Microsoft Outlook xx.x Object Library」にチェックを入れ、OKをクリックします。

この設定で、VBAからOutlookを操作する準備が整いました。

2. シンプルなメール作成コード

次に、基本的なメールを作成するコードをご紹介します。

vba
Sub CreateMail()
' Outlookのアプリケーションオブジェクトを作成
Dim objOutlook As New Outlook.Application
' 新しいメールアイテムを作成
Dim objMail As Outlook.MailItem
Set objMail = objOutlook.CreateItem(olMailItem)

' メールの各種設定
With objMail
.To = "example@example.com" ' 宛先
.Subject = "件名をここに入力" ' 件名
.Body = "本文をここに入力します。" ' 本文
.Display ' メール作成画面を表示
End With
End Sub

このコードを実行すると、指定した宛先、件名、本文が入力された新しいメール作成画面が表示されます。

メールに複数のファイルを添付する方法

では、次にメールに複数のファイルを添付する方法を見ていきましょう。

1. 添付ファイルのパスをExcelシートに入力

まず、添付したいファイルのパスをExcelシートにリストアップします。

  1. Excelの任意のシートを開きます。
  2. A列に添付したいファイルのフルパスを1行ずつ入力します。

例えば、以下のように入力します。


A列
C:UsersYourNameDocumentsfile1.pdf
C:UsersYourNameDocumentsfile2.jpg
C:UsersYourNameDocumentsfile3.xlsx

2. 複数ファイルを添付するコード

次に、先ほどのリストを基に、メールに複数のファイルを添付するコードをご紹介します。

vba
Sub CreateMailWithAttachments()
' Outlookのアプリケーションオブジェクトを作成
Dim objOutlook As New Outlook.Application
' 新しいメールアイテムを作成
Dim objMail As Outlook.MailItem
Set objMail = objOutlook.CreateItem(olMailItem)

' 添付ファイルのパスを取得するための変数
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim filePath As String

' アクティブなシートを設定
Set ws = ThisWorkbook.ActiveSheet
' A列の最終行を取得
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

' メールの各種設定
With objMail
.To = "example@example.com" ' 宛先
.Subject = "複数ファイルの添付" ' 件名
.Body = "以下のファイルを添付しています。" ' 本文

' A列の各セルに入力されたファイルパスを添付
For i = 1 To lastRow
filePath = ws.Cells(i, 1).Value
' ファイルが存在するか確認
If Dir(filePath) <> "" Then
.Attachments.Add filePath
Else
MsgBox "ファイルが見つかりません: " & filePath
End If
Next i

.Display ' メール作成画面を表示
End With
End Sub

このコードを実行すると、ExcelシートのA列にリストアップしたすべてのファイルが添付されたメール作成画面が表示されます。

よくある質問や疑問

Q1. 添付ファイルが見つからない場合はどうすればいいですか?

コード内で、ファイルの存在を確認しています。もしファイルが見つからない場合は、指定したパスが正しいか、ファイルが実際に存在するかを確認してください。

Q2. メールを自動で送信することはできますか?

はい、できます。「.Display」の代わりに`.Send`を使用すると、メール作成画面を表示せずに自動で送信されます。ただし、内容を確認せずに送信されるため、注意が必要です。

まとめ

いかがでしたか?ExcelのVBAを使って、Outlookで複数のファイルを添付したメールを作成する方法をご紹介しました。これを活用すれば、日々の業務がより効率的になることでしょう。他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました