メインコンテンツへスキップ

ExcelのリストからOutlook経由で個別の大量メールを送信するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

例えば、次のようなデータ範囲がワークシートにあり、名前、メールアドレス、登録コードの列が含まれているとします。ここで、A列にある個別のメールアドレスに対して、それぞれの登録コードとパーソナライズされた挨拶を含むメッセージを送りたいと思います。この問題を解決するために、次の方法が役立つかもしれません。

a screenshot of the mailing list in worksheet

Excelからのリストに宛てた個別大量メールを「差込印刷」機能を使って送信する

VBAコードを使用してExcelからのリストに宛てた個別大量メールを送信する

Kutools for Excelを使用して異なる添付ファイル付きでリストに宛てた個別大量メールを送信する


Excelからのリストに宛てた個別大量メールを「差込印刷」機能を使って送信する

Wordの「差込印刷」機能を使えば、この作業を迅速かつ簡単に完了できます。以下の手順に従って行ってください:

1. 新しい空白のWord文書を開き、「メール」タブをクリックし、「受信者を選択」→「既存のリストを使用」を選んでください。スクリーンショットをご覧ください:

a screenshot of selecting recipients use an existing list

2. 「データソースの選択」ウィンドウで、使用したいデータ範囲が含まれるワークブックを選択し、「開く」ボタンをクリックしてください。スクリーンショットをご覧ください:

a screenshot of selecting a workbook

3. 表示される「テーブルの選択」ダイアログボックスで、必要なデータ範囲があるワークシートを選択し、「OK」ボタンをクリックしてください。スクリーンショットをご覧ください:

a screenshot of selecting the corresponding worksheet that containing the mailing list

4. これでEメール本文とアドレスリストが接続されました。今後は、テキストメッセージを編集し、各メッセージ内で固有の情報が表示される場所を示すプレースホルダーを追加することができます。

(1.) 個別の挨拶名を挿入するには、「メール」タブをクリックし、「差込フィールドの挿入」 「名前」を選択します。これにより、パーソナライズされた名前がメッセージに挿入され、フィールド名は「« »」で囲まれます。

a screenshot of inserting a merged Name field

(2.) メッセージの入力を続け、必要な場所に 登録コードを挿入します。スクリーンショットをご覧ください:

a screenshot of inserting the Registration Code

5. メッセージを作成した後、「メール」タブの下にある「プレビュー結果」をクリックして、Eメールメッセージをプレビューし、実際に結合を完了する前に変更を行います。

6. 問題がないことを確認したら、個別の受信者にEメールを送信できます。「メール」タブをクリックし、「結合の完了」→「電子メールメッセージの送信」を選択してください。スクリーンショットをご覧ください:

a screenshot of selecting Send Email Messages

7. 表示される「Eメールへの結合」ダイアログボックスで、次の操作を行ってください:

(1.) 「To」ドロップダウンリストから「Email_Address」列を選択してください;

(2.) 件名を「 件名」行のテキストボックスに入力します;

(3.) 「レコードの送信」セクションで、「 すべて」を選択します。

a screenshot of configuring the Merge to E-mail dialog box

8. 「OK」をクリックすると、個々の登録コードと共に個別の受信者にメールが一斉に送信されます。メール送信後、Outlookでメールが正常に送信されたか確認できます。


異なる添付ファイルを持つ複数の受信者に個別のメールを送信する:

Kutools for Excel「メール送信」機能を使用すると、Outlook経由でExcelから異なる添付ファイルを含む個別のメールを複数の受信者に迅速に送信できます。また、必要に応じてCCやBccで特定の人にもメッセージを転送できます。       Kutools for Excelを今すぐダウンロードして無料トライアル!

a screenshot of using Kutools for Excel to send personalized emails to multiple recipients easily


VBAコードを使用してExcelからのリストに宛てた個別大量メールを送信する

差込印刷機能以外にも、次のVBAコードでも同様の処理が可能です。以下のように進めてください:

1. ALT + F11キーを押すと、Microsoft Visual Basic for Applicationsウィンドウが開きます。

2. 「挿入」→「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。

VBAコード: Excelからのリストに宛てた個別大量メールを送信する:

#If VBA7 And Win64 Then
    Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                         ByVal hwnd As LongPtr, ByVal lpOperation As String, _
                         ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
                         ByVal nShowCmd As Long) As LongPtr
#Else
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                         ByVal hwnd As Long, ByVal lpOperation As String, _
                         ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
                         ByVal nShowCmd As Long) As Long
#End If
Sub SendEMail()
'update by Extendoffice 20160506
    Dim xEmail As String
    Dim xSubj As String
    Dim xMsg As String
    Dim xURL As String
    Dim i As Integer
    Dim k As Double
    Dim xCell As Range
    Dim xRg As Range
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count <> 3 Then
        MsgBox " Regional format error, please check", , "Kutools for Excel"
        Exit Sub
    End If
    For i = 1 To xRg.Rows.Count
'       Get the email address
        xEmail = xRg.Cells(i, 2)
'       Message subject
        xSubj = "Your Registration Code"
'       Compose the message
        xMsg = ""
        xMsg = xMsg & "Dear " & xRg.Cells(i, 1) & "," & vbCrLf & vbCrLf
        xMsg = xMsg & " This is your Registration Code "
        xMsg = xMsg & xRg.Cells(i, 3).Text & "." & vbCrLf & vbCrLf
        xMsg = xMsg & " please try it, and glad to get your feedback! " & vbCrLf
        xMsg = xMsg & "Skyyang"
'       Replace spaces with %20 (hex)
        xSubj = Application.WorksheetFunction.Substitute(xSubj, " ", "%20")
        xMsg = Application.WorksheetFunction.Substitute(xMsg, " ", "%20")
'       Replace carriage returns with %0D%0A (hex)
        xMsg = Application.WorksheetFunction.Substitute(xMsg, vbCrLf, "%0D%0A")
'       Create the URL
        xURL = "mailto:" & xEmail & "?subject=" & xSubj & "&body=" & xMsg
'       Execute the URL (start the email client)
        ShellExecute 0&, vbNullString, xURL, vbNullString, vbNullString, vbNormalFocus
'       Wait two seconds before sending keystrokes
        Application.Wait (Now + TimeValue("0:00:02"))
        Application.SendKeys "%s"
    Next
End Sub

3. 次に F5キーを押してこのコードを実行すると、使用したいデータ範囲を選択するよう促すポップアップボックスが表示されます。スクリーンショットをご覧ください:

a screenshot of selecting the mailing list after running the code

4. 「OK」ボタンをクリックすると、個々の登録コードと共に個別のアドレスにメールが一つずつ送信されます。メール送信後、Outlookでメールが正常に送信されたか確認できます。

注意: 上記のコードでは、必要に応じて件名や本文を変更できます。


Kutools for Excelを使用して異なる添付ファイルを持つリストに宛てた個別大量メールを送信する

Kutools for Excelがあれば、「メール送信」機能を使用して、異なる添付ファイルを含む個別のメールを複数の受信者に迅速に送信できます。

Kutools for Excelをインストール後、次のように進めてください:

1. 「Kutools Plus」→「メール送信」をクリックしてください。スクリーンショットをご覧ください:

a screenshot of enabling the Send Emails feature

2. 「メール送信」ダイアログボックスで、使用したいデータ範囲を選択し、必要に応じて受信者アドレス、添付ファイル、件名を指定します。スクリーンショットをご覧ください:

a screenshot of setting the mail fields

3. 編集ボックスに個別の挨拶名を挿入するには、ドロップダウンリストから「名前」を選択し、「 プレースホルダーを挿入 」をクリックしてメッセージに名前を挿入します。スクリーンショットをご覧ください:

a screenshot of inserting placeholder

4. 必要に応じてメッセージ本文をボックスに入力します。スクリーンショットをご覧ください:

a screenshot of finishing the email body

5. メール本文が完成したら、希望する送信モードを選択します。Outlookを使用して送信するか、指定したサーバーを使用して送信できます。スクリーンショットをご覧ください:

a screenshot of choosing one of the send modes

注意:  他のサーバーを使用したい場合は、「SMTP設定」をクリックして送信モードを自分のものに設定します。スクリーンショットをご覧ください:

a screenshot of configuring the Outgoing Server if you want to send emails through that email server

6. 最後に「送信」ボタンをクリックしてメールを送信します。完了すると、送信状況を知らせるプロンプトボックスが表示されます。スクリーンショットをご覧ください:

a screenshot shows the number of emails successfully sent

今すぐKutools for Excelをダウンロードして無料トライアル!


デモ: Outlook経由でExcelのリストに宛てた個別大量メールを送信する

 
Kutools for Excel: 300以上の便利なExcelアドインが利用可能で、30日間無制限で無料試用できます。 今すぐダウンロードして無料トライアル!

関連記事:

ExcelのリストからOutlook経由で複数の受信者にメールを送信するにはどうすればよいですか?


最高のオフィス生産性ツール

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ15のツールセット12 のテキストツール (テキストの追加, 特定の文字を削除, ...)  |  50以上 のグラフ の種類 (ガントチャート, ...)  |  40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...)  |  19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...)  |  12 の変換ツール (単語に変換する, 通貨変換, ...)  |  7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...)  |  ...さらに多く

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。  最も必要な機能を入手するにはここをクリック...


Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします

  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!