Excel VBAでOutlookメールを複数の宛先に自動作成する方法

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

皆さん、こんにちは。今日は、ExcelとOutlookを使って、複数の宛先にメールを自動で作成する方法をご紹介します。手作業で一通一通メールを作成するのは大変ですよね。でも、VBAを使えば、この作業を簡単に自動化できます。特に、パソコンやスマホが苦手な方でも大丈夫です。わかりやすく説明しますので、一緒にやってみましょう。

スポンサーリンク

VBAでOutlookメールを作成する基本

Outlookのイメージ

Outlookのイメージ

まず、ExcelのVBAを使ってOutlookのメールを作成する基本的な方法をお伝えします。難しそうに聞こえるかもしれませんが、順を追って説明しますのでご安心ください。

Outlookとの連携設定

最初に、ExcelとOutlookを連携させるための設定を行います。以下の手順で進めてください。

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

これで、ExcelとOutlookが連携できるようになりました。

基本的なメール作成コード

次に、実際にメールを作成するためのコードを書いてみましょう。以下のコードを先ほどのVBA編集画面に入力してください。

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

' メールの設定
With objMail
.To = "example1@example.com; example2@example.com" ' 宛先
.CC = "cc@example.com" ' CC
.BCC = "bcc@example.com" ' BCC
.Subject = "メールの件名" ' 件名
.Body = "ここにメールの本文を書きます。" ' 本文
.Display ' メールを表示
End With
End Sub

このコードを実行すると、指定した宛先にメールが作成され、画面に表示されます。送信する前に内容を確認できるので安心ですね。

複数の宛先にメールを一括作成する方法

次に、Excelのシートにリスト化した複数の宛先に対して、一括でメールを作成する方法をご紹介します。これにより、たくさんの人に同じ内容のメールを送る際に非常に便利です。

宛先リストの作成

まず、Excelのシートに以下のような形で宛先リストを作成します。


A列(メールアドレス) B列(件名) C列(本文)
example1@example.com 件名1 本文1
example2@example.com 件名2 本文2

このように、A列にメールアドレス、B列に件名、C列に本文を入力します。

メール一括作成のコード

次に、先ほどのVBA編集画面に以下のコードを入力します。

vba
Sub CreateBulkMails()
' Outlookアプリケーションを起動
Dim objOutlook As New Outlook.Application
' 変数の宣言
Dim objMail As Outlook.MailItem
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long

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

' 2行目から最終行までループ
For i = 2 To lastRow
' 新しいメールアイテムを作成
Set objMail = objOutlook.CreateItem(olMailItem)
With objMail
.To = ws.Cells(i, 1).Value ' A列宛先
.Subject = ws.Cells(i, 2).Value ' B列件名
.Body = ws.Cells(i, 3).Value ' C列本文
.Display ' メールを表示
End With
Next i
End Sub

このコードを実行すると、リストにある各宛先ごとにメールが作成され、画面に表示されます。内容を確認してから送信できるので、誤送信の心配もありません。

よくある質問や疑問

Q1: メールを直接送信することはできますか?

はい、可能です。コード内の `.Display` を `.Send` に変更することで、メールを直接送信できます。ただし、内容を確認せずに送信されるため、誤送信には十分注意してください。

Q2: CCやBCCにも複数のアドレスを指定できますか?

はい、できます。宛先と同様に、アドレスをセミコロン(;)で区切って指定してください。例えば、 `.CC = “cc1@example.com; cc2@example.com”` のように記述します。

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

LINE公式

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

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

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

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

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

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

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

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

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

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

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

相談しに行く

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

まとめ

いかがでしたか?ExcelのVBAを使って、Outlookで複数の宛先にメールを自動作成する方法をご紹介しました。最初は少し難しく感じるかもしれませんが、慣れてくるととても便利です。ぜひ試してみてください。他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

コメント

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