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

編集を制限してWord 2010文書を保護する

編集を制限してWord 2010文書を保護する

重要な文書を外部から保護することは非常に有益です。文書作成中に、緊急に必要になることがあります。

Access 2010: データベーステーブル間のリレーションシップの構築

Access 2010: データベーステーブル間のリレーションシップの構築

Access 2010のようなリレーショナルデータベース管理システムの利点の1つは、テーブルと制約の関係を簡単に設定して、

MS Access 2010: IFF関数を使ったクエリ

MS Access 2010: IFF関数を使ったクエリ

MS Accessでは、IIF関数は、指定された条件がTRUEと評価された場合に1つの値を返し、FALSEと評価された場合に別の値を返します。IIF関数

Office Excel 2010 のチャートとグラフ

Office Excel 2010 のチャートとグラフ

チャートやグラフはデータを表現するのに優れた方法です。Microsoft Excel 2010はほぼすべてのチャートタイプに対応しており、簡単に作成できます。

Microsoft Word 2010 の間隔

Microsoft Word 2010 の間隔

文書を作成する際、スペースは文書の見栄えやプレゼンテーションに影響を与えるため、非常に重要です。スペースは簡単に増減できます。

リボンとクイック アクセス ツール バーの設定をエクスポート/インポートする [Office 2010]

リボンとクイック アクセス ツール バーの設定をエクスポート/インポートする [Office 2010]

Microsoft Officeスイートアプリはリボン、タブ、クイックアクセスツールバーをカスタマイズする最も簡単な方法を提供しますが、新しいコピーをインストールする必要がある場合はどうでしょうか。

Access 2010: データベーステーブルを Excel 2010 にエクスポートする

Access 2010: データベーステーブルを Excel 2010 にエクスポートする

Accessでさまざまな操作を実行するのはそれほど簡単ではありません。RDBMS(リレーショナルデータベース管理システム)では、特定の構文と制約が必要になるためです。

Word文書から非表示のメタデータと要素を削除する

Word文書から非表示のメタデータと要素を削除する

ほとんどすべての文書には、隠しテキスト、オブジェクト情報、個人情報(識別情報:著者名)、その他の情報が含まれています。

Excel 2010の比較ヒストグラム

Excel 2010の比較ヒストグラム

グラフはExcelの最も優れた機能の一つですが、時には異なる方法で使用する必要があることもあります。ここでは比較ヒストグラムを作成してみましょう。

Excel 2010 のデータ統合機能を使用してスプレッドシートを結合する

Excel 2010 のデータ統合機能を使用してスプレッドシートを結合する

通常、各インスタンスのデータをチェックし、個別に表示するために、複数のワークシートでデータを管理していますが、すべてを結合できれば便利です。