Excel VBAを使用してOutlookから一括メールを送信する方法

クライアント、顧客、友人、その他の連絡先にパーソナライズされた大量の電子メールを配信する必要がありますか? ワンクリックでそれを実行しますか? それは可能です! Microsoft Excelには、これらすべてを実行する魔法のツールがあります。これは、Visual Basic for Applications、別名 Excel VBA です。

Excel VBAを使用して Outlook から一括メールを送信する方法については、引き続きお読みください。他にもあります! 以下のチュートリアルで説明されている最も簡単な手順に従って、これを練習できます。掘り下げてみましょう!

Excel VBAを使用してOutlookから一括メールを送信する方法

Excel VBAを使用してOutlookから一括メールを送信する方法

現在のチュートリアルでは、Excel からの一括メール送信を自動化するために必要な VBA コードを提供します。必要なのは、データを 1 つの Excel ファイルに収集し、簡単な書式設定を行うことだけです。

実行する VBA プログラムは、電子メール送信アプリとしてMicrosoft Outlookを使用します。したがって、コンピュータに Outlook をインストールして構成する必要があります。VBA コードは、Web ブラウザー ベースの Outlook プログラムを使用できません。

Excel ファイルと Outlook アプリの準備ができたら、次の手順を実行します。

  • 一括メール ワークシートを 6 つの列に編成します。
  • 行 A1 の列見出しに「Email To (A);」と入力します。CC (B) に電子メールを送信します。電子メールの件名 (C); 電子メールの本文 (D)、添付ファイル (E)、ステータス (F)。
  • すべての「宛先アドレス」を列A の見出しの下に追加します。必要に応じて、何千もの電子メールを追加できます。
  • 同様に、列Bの見出しの下に「CC アドレス」を入力します。
  • メールの件名をパーソナライズしてみましょう。C列の見出しの下に連絡先ごとにカスタムの電子メール件名を追加できます。
  • メール本文の内容も同様です。電子メールの内容をコピーして、列Dの見出しの下の行に貼り付けます。
  • ファイルの添付場所をコピーして、列E の見出しの下に貼り付けます。
  • 添付ファイルの場所を取得するには、Shift キーを押しながらコンピュータ上のターゲット ファイルを選択します。
  • 次に、右クリックして「パスとしてコピー」を選択し、PC クリップボード内のファイル アドレスをコピーします。
  • これで、アドレスを E 列の行に直接貼り付けることができます。
  • VBA コードによってステータスが自動入力されるため、F列は空白のままにしておきます。

Excel VBAを使用してOutlookから一括メールを送信する方法

  • Excel シートをマクロ有効ファイルとして保存します。
  • ここで、Alt+F11を押してVBA コード エディタを起動します。
  • 上部のメニューで[ツール]をクリックし、 [参照]を選択します。
  • 次のリストでMicrosoft Office 16.0 オブジェクト ライブラリを探し、ボックスをオンにします。
  • [OK]をクリックしてOutlook を VBA のオブジェクトとして保存します。

Excel VBAを使用してOutlookから一括メールを送信する方法

  • ここで、「挿入」をクリックし、 「モジュール」を選択してコードエディターを開きます。
  • 以下のコードをコピーしてModuleに貼り付けます。

Sub Send_Bulk_Mails() Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("Worksheet_Name") Dim i As Integer Dim OA As Object Dim msg As Object Set OA = CreateObject("outlook.application") Dim last_row As Integer last_row = Application。 CountA(sh.Range("A:A")) For i = 2 To last_row Set msg = OA.createitem(0) msg​​.to = sh.Range("A" & i).Value msg.cc = sh. Range("B" & i).Value msg.Subject = sh.Range("C" & i).Value msg.body = sh.Range("D" & i).Value If sh.Range("E" & i).Value <> "" then msg.attachments.Add sh.Range("E" & i).Value End If msg.send sh.Range("F" & i).Value = "Sent" Next i MsgBox "すべてのメールが送信されました" End Sub

  • コード行 3 の (「Worksheet_Name」) と表示されている部分に、現在のワークシート名をアンダースコアで区切って入力します。
  • メニューから「保存」をクリックしてスクリプトを保存します。
  • F5キーを押してマクロを実行すると、Excel が Outlook 経由で電子メールを自動的に送信します。

Excel VBAを使用してOutlookから一括メールを送信する方法

  • このマクロには、後からExcel リボン メニューの[開発]タブからアクセスすることもできます。

結論

Excel VBA チュートリアルを使用して Outlook から一括メールを送信する方法を理解したので、手動メール送信に時間を費やすことなく、簡単に一括メールを送信できます。

Excel の VBA テクニックをもう 1 つ学びたいですか? VBA を使用してExcel でスペル チェックを自動化する方法については、このチュートリアルを参照してください。

Leave a Comment

Microsoft Office Access 2010: Web 互換性チェッカー

Microsoft Office Access 2010: Web 互換性チェッカー

Web互換性チェッカーは、Microsoft Office Access 2010の便利な機能で、データベースのWeb互換性の問題をチェックできます。このツールは

PowerPoint 2010: 画像を圧縮してプレゼンテーションのサイズを縮小する

PowerPoint 2010: 画像を圧縮してプレゼンテーションのサイズを縮小する

PowerPointプレゼンテーションをメールで共有する際には、圧縮が必要になることがよくあります。プレゼンテーションに画像がたくさんある場合は、これらの画像を圧縮してみてください。

Excel 2010: 数式の参照元と参照先の追跡

Excel 2010: 数式の参照元と参照先の追跡

多数の関数や数式を含む巨大なスプレッドシートを扱う場合、前例や

Excel 2010でRANK関数を使って値を順位付けする

Excel 2010でRANK関数を使って値を順位付けする

Excel 2010に標準装備のRANK関数を使えば、リストからデータ値の順位を簡単に調べることができます。この関数は3つの簡単な引数を取ります。

Word 2010で画像の背景と色を挿入する

Word 2010で画像の背景と色を挿入する

ページの色を変更したり、ドキュメントに画像の背景を挿入すると、見た目や雰囲気を美しくすることができます。この投稿では、

Outlook 2010: インスタント検索の完全ガイド

Outlook 2010: インスタント検索の完全ガイド

IMAPアカウントフォルダや古いアーカイブからアイテムを検索するのは大変な作業です。Outlook 2010は、以前のバージョンとは異なり、必要なアイテムを簡単に検索できる機能を備えています。

Word 2010文書をPDF/XPS形式に変換する方法

Word 2010文書をPDF/XPS形式に変換する方法

PDFは文書の配布や出版に広く使われているフォーマットです。Word 2010にはPDF変換ツールが搭載されているので、サードパーティ製のツールを使う必要はありません。

Word 2010文書にコメントを挿入する

Word 2010文書にコメントを挿入する

Word 2010には、文書の任意の部分にコメントを追加できる便利なコメントシステムが搭載されています。任意の単語、フレーズ、文をコメントアウトしたり、

Excel 2010: グリッド線の変更、削除、印刷

Excel 2010: グリッド線の変更、削除、印刷

Excelにはワークシートのグリッド線を変更するオプションがあります。グリッド線の色を変更したり、印刷時に目立たせたり、さらには削除したりすることもできます。

Excel 2010: 絵文字(画像付きグラフ)

Excel 2010: 絵文字(画像付きグラフ)

Excelのグラフはデータを視覚的に表現する方法を提供しますが、グラフをカスタマイズすることで、絵文字(画像付きグラフ)に変換できます。これは