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:\Users\YourName\Documents\file1.pdf
C:\Users\YourName\Documents\file2.jpg
C:\Users\YourName\Documents\file3.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`を使用すると、メール作成画面を表示せずに自動で送信されます。ただし、内容を確認せずに送信されるため、注意が必要です。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

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

コメント

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