ExcelのリストからOutlook経由で個別の大量メールを送信するにはどうすればよいですか?
例えば、次のようなデータ範囲がワークシートにあり、名前、メールアドレス、登録コードの列が含まれているとします。ここで、A列にある個別のメールアドレスに対して、それぞれの登録コードとパーソナライズされた挨拶を含むメッセージを送りたいと思います。この問題を解決するために、次の方法が役立つかもしれません。
Excelからのリストに宛てた個別大量メールを「差込印刷」機能を使って送信する
VBAコードを使用してExcelからのリストに宛てた個別大量メールを送信する
Kutools for Excelを使用して異なる添付ファイル付きでリストに宛てた個別大量メールを送信する
Excelからのリストに宛てた個別大量メールを「差込印刷」機能を使って送信する
Wordの「差込印刷」機能を使えば、この作業を迅速かつ簡単に完了できます。以下の手順に従って行ってください:
1. 新しい空白のWord文書を開き、「メール」タブをクリックし、「受信者を選択」→「既存のリストを使用」を選んでください。スクリーンショットをご覧ください:
2. 「データソースの選択」ウィンドウで、使用したいデータ範囲が含まれるワークブックを選択し、「開く」ボタンをクリックしてください。スクリーンショットをご覧ください:
3. 表示される「テーブルの選択」ダイアログボックスで、必要なデータ範囲があるワークシートを選択し、「OK」ボタンをクリックしてください。スクリーンショットをご覧ください:
4. これでEメール本文とアドレスリストが接続されました。今後は、テキストメッセージを編集し、各メッセージ内で固有の情報が表示される場所を示すプレースホルダーを追加することができます。
(1.) 個別の挨拶名を挿入するには、「メール」タブをクリックし、「差込フィールドの挿入」→ 「名前」を選択します。これにより、パーソナライズされた名前がメッセージに挿入され、フィールド名は「« »」で囲まれます。
(2.) メッセージの入力を続け、必要な場所に 登録コードを挿入します。スクリーンショットをご覧ください:
5. メッセージを作成した後、「メール」タブの下にある「プレビュー結果」をクリックして、Eメールメッセージをプレビューし、実際に結合を完了する前に変更を行います。
6. 問題がないことを確認したら、個別の受信者にEメールを送信できます。「メール」タブをクリックし、「結合の完了」→「電子メールメッセージの送信」を選択してください。スクリーンショットをご覧ください:
7. 表示される「Eメールへの結合」ダイアログボックスで、次の操作を行ってください:
(1.) 「To」ドロップダウンリストから「Email_Address」列を選択してください;
(2.) 件名を「 件名」行のテキストボックスに入力します;
(3.) 「レコードの送信」セクションで、「 すべて」を選択します。
8. 「OK」をクリックすると、個々の登録コードと共に個別の受信者にメールが一斉に送信されます。メール送信後、Outlookでメールが正常に送信されたか確認できます。
異なる添付ファイルを持つ複数の受信者に個別のメールを送信する: Kutools for Excelの「メール送信」機能を使用すると、Outlook経由でExcelから異なる添付ファイルを含む個別のメールを複数の受信者に迅速に送信できます。また、必要に応じてCCやBccで特定の人にもメッセージを転送できます。 Kutools for Excelを今すぐダウンロードして無料トライアル! |
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キーを押してこのコードを実行すると、使用したいデータ範囲を選択するよう促すポップアップボックスが表示されます。スクリーンショットをご覧ください:
4. 「OK」ボタンをクリックすると、個々の登録コードと共に個別のアドレスにメールが一つずつ送信されます。メール送信後、Outlookでメールが正常に送信されたか確認できます。
注意: 上記のコードでは、必要に応じて件名や本文を変更できます。
Kutools for Excelを使用して異なる添付ファイルを持つリストに宛てた個別大量メールを送信する
Kutools for Excelがあれば、「メール送信」機能を使用して、異なる添付ファイルを含む個別のメールを複数の受信者に迅速に送信できます。
Kutools for Excelをインストール後、次のように進めてください:
1. 「Kutools Plus」→「メール送信」をクリックしてください。スクリーンショットをご覧ください:
2. 「メール送信」ダイアログボックスで、使用したいデータ範囲を選択し、必要に応じて受信者アドレス、添付ファイル、件名を指定します。スクリーンショットをご覧ください:
3. 編集ボックスに個別の挨拶名を挿入するには、ドロップダウンリストから「名前」を選択し、「 プレースホルダーを挿入 」をクリックしてメッセージに名前を挿入します。スクリーンショットをご覧ください:
4. 必要に応じてメッセージ本文をボックスに入力します。スクリーンショットをご覧ください:
5. メール本文が完成したら、希望する送信モードを選択します。Outlookを使用して送信するか、指定したサーバーを使用して送信できます。スクリーンショットをご覧ください:
注意: 他のサーバーを使用したい場合は、「SMTP設定」をクリックして送信モードを自分のものに設定します。スクリーンショットをご覧ください:
6. 最後に「送信」ボタンをクリックしてメールを送信します。完了すると、送信状況を知らせるプロンプトボックスが表示されます。スクリーンショットをご覧ください:
今すぐKutools for Excelをダウンロードして無料トライアル!
デモ: Outlook経由でExcelのリストに宛てた個別大量メールを送信する
関連記事:
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%向上させ、毎日数百回のマウスクリックを減らします!