KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

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

著者Xiaoyang変更日

職場では、ニュースレターの配信、請求書の送付、イベント参加者への通知など、Excel ワークシートの列にメールアドレスリストが保存されているケースをよく目にします。各アドレスを手動で入力したり、Outlook を開いて個別にメールを作成したりする代わりに、Excel から直接すべての受信者にメッセージを送信すれば、このプロセスを大幅に効率化できます。本ガイドでは、Excel とOutlook を連携させて一度に複数の受信者にメールを送信するための詳細な方法をご紹介し、作業時間の短縮とミスの削減を実現します。

VBA コードを使用してExcel から複数の受信者にメールを送信する

VBA コードを使用して現在のブックを添付ファイルとして複数の受信者にメールを送信する

代替ソリューション:Excel 数式を使用してセミコロン区切りのメールアドレスを送信する


VBA コードを使用してExcel から複数の受信者にメールを送信する

一度に同じメールをグループ全体に送信したい場合で、かつワークシートの列にそのアドレスリストが記載されている場合は、VBA コードを使ってこの作業を自動化できます。この方法は、Outlook で個別に受信者を追加することなく、一括通知やグループへの更新を効率的に行いたいときに特に役立ちます。以下の手順に従ってください。

1。ALT + F11」を同時に押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。開発タブが有効になっていない場合は、Excel の設定で手順をご確認ください。

2。VBA ウィンドウで、挿入 > 標準モジュールをクリックすると、コードを入力するための空のモジュールウィンドウが開きます。次のコードを貼り付けてください。

VBA コード:複数の受信者にメールを送信

Sub sendmultiple()
'updateby Extendoffice
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Display
    End With
End Sub

3。F5」キーを押す(または「実行」をクリック)と、ワークシート上でアドレスのリストを選択するよう促すプロンプトボックスが表示されます。このステップにより、必要なメールアドレスを含むすべてのセルを簡単に選択でき、コードがメール形式()*@*)に一致する受信者のみを対象とするようになります。スクリーンショットをご覧ください。

コード実行後にメールアドレスリストを選択しているスクリーンショット

4。アドレスを選択したら、OKをクリックします。すると、Outlook が新しいメッセージウィンドウを開き、選択したアドレスが自動的にToフィールドに入力されます。必要に応じて件名を入力し、メッセージを作成できます。さらに編集も自由自在で、パーソナライズや内容の明確化にも対応可能です。スクリーンショットをご覧ください。

To欄に選択されたすべてのメールアドレスが記載された作成済みメールのスクリーンショット

5。メッセージの作成が完了したら、送信ボタンをクリックして、リストされたすべての受信者に一斉にメールを送信できます。これにより、アドレスの見落としを防ぎ、グループ間のコミュニケーションをスピーディーに進められます。

ヒント:この方法を正しく動作させるには、Outlook がインストール済みで、かつ既定のメールクライアントに設定されている必要があります。プロンプトが表示されないなど問題が発生した場合は、Excel のマクロセキュリティ設定を再度ご確認ください。

適用可能なシナリオ:チームへのアナウンス、イベント通知、または複数の相手に同一の情報を一斉送信する場合にこの方法をご利用ください。手動入力が最小限で済み、スピードと正確性を確保できる点が大きなメリットですが、個人ごとのメッセージパーソナライズはできません。

トラブルシューティング:Outlook のメッセージウィンドウが開かない場合は、まずOutlook が正常に動作しており、かつ既定のメールハンドラーに設定されていることをご確認ください。また、選択したすべてのセルに有効なメールアドレスが含まれているかもあわせてご確認ください。エラー処理機能は搭載されていますが、最良の結果を得るには、空欄や不正な形式のセルは避けることをおすすめします。


異なる添付ファイル付きで複数の受信者にパーソナライズされたメールを送信する:

個別添付ファイルの送信、コンテンツのカスタマイズ、CC/Bcc の自動追加など、より高度な要件がある場合は、Kutools for Excelメール送信機能を使えば、Excel からOutlook 経由でパーソナライズされたメールをすばやく簡単に送信できます。この機能を使えば、各受信者に合わせたメール作成、個別の添付ファイルの追加、さらに柔軟な一括メール配信に対応した CC/Bcc 設定も自在です。Kutools for Excel をダウンロードするにはクリックしてください!

Kutoolsの「メール送信」機能を使用して、複数の受信者に異なる添付ファイル付きでパーソナライズされたメールを簡単に送信しているスクリーンショット


VBA コードを使用して現在のブックを添付ファイルとして複数の受信者にメールを送信する

現在のExcel ワークブックをグループの受信者に添付ファイルとして送信する必要がある場合は、以下の VBA ソリューションでこのプロセスを自動化できます。この方法は、レポート、財務サマリー、共同作業文書を複数の関係者と共有する際に最適です。

1。Excel を開き、「Alt + F11」を押して、Microsoft Visual Basic for Applications 環境を起動します。

2。VBA エディターで、挿入標準モジュールをクリックし、以下のコードをモジュールウィンドウにコピー&ペーストしてください。

VBA コード:現在のブックを添付ファイルとして複数の受信者にメールを送信

Sub EmailAttachmentRecipients()
'updateby Extendoffice
    Dim xOutlook As Object
    Dim xMailItem As Object
    Dim xRg As Range
    Dim xCell As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the arresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOutlook = CreateObject("Outlook.Application")
    Set xMailItem = xOutlook.CreateItem(0)
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    With xMailItem
        .To = xEmailAddr
        .CC = ""
        .Subject = ""
        .Body = ""
        .Attachments.Add ActiveWorkbook.FullName
        .Display
    End With
    Set xOutlook = Nothing
    Set xMailItem = Nothing
End Sub

3。F5」キーを押してコードを実行すると、メールアドレスのセルを選択するプロンプトが表示されます。この仕組みにより、ワークシート上の関連するすべての受信者を簡単に含めることができ、適切な形式のメールアドレスのみが追加されます。以下のスクリーンショットをご確認ください。

2番目のVBAコード実行後にメールアドレスリストを選択しているスクリーンショット

4。 選択を確定したら、OKをクリックします。すると、Outlook が自動的に新しいメッセージウィンドウを作成し、選択した受信者をToフィールドに表示し、現在開いているブックを添付ファイルとして追加します。送信前に、メッセージ本文や件名を自由にカスタマイズできます。スクリーンショットをご覧ください。

To欄に選択されたすべてのメールアドレスが記載され、現在のワークブックが添付された作成済みメールのスクリーンショット

5。送信ボタンをクリックすると、ブックを添付したメールがすべての受信者に一度に送信されます。

注意事項:ブックに機密情報が含まれている場合は、送信前に受信者リストを慎重にご確認ください。ファイルの添付でエラーが発生した場合は、ブックが保存済みで、他のプログラムで開かれておらず、かつOutlook が自動化によるメール送信用に正しく設定されていることをご確認ください。

使用例:このソリューションは、定期レポートの配信、共同作業ブックの提出、チームやクライアントとの参照ファイル共有など、さまざまなシーンで活用されています。一括での文書配信に非常に効率的ですが、受信者ごとに個別の添付ファイルを設定することはできません。

一般的な問題:プロンプトウィンドウが開かない、またはメールが送信されない場合は、マクロのアクセス許可が適切に付与されており、コードを実行する前にブックが保存済みであることをご確認ください。また、選択範囲内に空のセルが含まれていないかも再度ご確認ください。コードは、標準的なメール形式に一致しない内容を自動的にスキップします。


代替ソリューション:Excel 数式を使用してセミコロン区切りのメールアドレスを送信する

Outlook のToCC、またはBccフィールドに簡単にコピーできるよう、メールアドレスを1 つのセルにセミコロン区切りでまとめておきたい場合、Excel の数式がマクロを使わずに迅速かつシンプルな解決策を提供します。

1。たとえば、メールアドレスが列 A の1 行目から7 行目に記載されているとします。空のセル(例:B1)に次の数式を入力してください。

=TEXTJOIN(";",TRUE,A1:A7)

2。Enter」を押すと、選択した範囲内のすべてのメールアドレスがセミコロンで区切られた1 つのテキスト文字列になります。このセルをコピーして、Outlook の受信者フィールドに直接貼り付けられます。

数式のパラメーター:

  • TEXTJOIN:指定した区切り文字(ここではセミコロン)でセル範囲をつなぎ合わせます。
  • TRUE:範囲内の空白セルを除外し、すべての有効なメールアドレスがギャップなく結合されます。
  • A1:A10:メールアドレスのリストに合わせて、この範囲を調整してください。

利点:このアプローチではマクロを有効にする必要がなく、VBA が制限された環境にも最適です。さらに、Outlook に限らず、あらゆるメールプラットフォームへコンパイル済みリストを素早くコピーできるため、非常に便利です。

制限事項:VBA とは異なり、メールの自動作成や送信プロセスの自動化は行いませんが、受信者リストを扱う際の効率を向上させます。

ヒント:リストを変更した場合は、それに応じて数式の範囲も更新してください。セミコロン以外の区切り文字を使用する際は、";"を希望の文字に置き換えてください。


関連記事:

Excel からOutlook 経由でリスト内の各受信者にパーソナライズされた一斉メールを送信する方法は?


最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


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

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得