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

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

Author: Xiaoyang Last Modified: 2025-08-06

ワークシートの列に複数のメールアドレスがあり、Outlookを開かずにExcelからこの受信者リストに直接メールを送信したい場合があります。この記事では、Excelから同時に複数の受信者にメールを送信する方法について説明します。

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

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


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

以下の手順で、VBAコードを使用して一度に複数の受信者にメッセージを送信できます:

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

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

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キーを押してこのコードを実行すると、アドレスリストを選択するように促すボックスが表示されます。スクリーンショットをご覧ください:

a screenshot of selecting the email addresses list after running the code

4. 「OK」をクリックすると、Outlookメッセージウィンドウが表示され、選択したすべてのメールアドレスが「宛先」フィールドに追加されていることが確認できます。その後、件名を入力し、メッセージを作成します。スクリーンショットをご覧ください:

a screenshot of a created email with all selected email addresses listed in the To field

5. メッセージの作成が完了したら、「送信」ボタンをクリックしてください。このメッセージは、ワークシートリストにあるこれらの受信者に送信されます。


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

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

a screenshot of using the Send Emails feature of Kutools to easily send personalized emails to multiple recipients with different attachments


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

現在のワークブックを添付ファイルとして複数の受信者にメッセージを送信する必要がある場合は、次のVBAコードを適用できます。

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

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

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キーを押してこのコードを実行すると、送信したいアドレスを選択するように促すボックスが表示されます。スクリーンショットをご覧ください:

a screenshot of selecting the email addresses list after running the second VBA code

4. OK」ボタンをクリックすると、Outlook メッセージウィンドウが表示され、すべてのメールアドレスが「宛先」フィールドに追加され、現在のワークブックも添付ファイルとして挿入されています。その後、件名を入力し、メッセージを作成します。スクリーンショットをご覧ください:

a screenshot of a created email with all selected email addresses listed in the To field and the current workbook as attachment

5. 現在のワークブックを添付ファイルとして受信者リストにこのメッセージを送信するために、「送信」ボタンをクリックします。


関連記事:

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


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

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

Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...


Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます

  • Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
  • 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
  • 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!