VBA で電子メールを送信: 11 のシンプルで簡単なステップで学習

VBA で電子メールを送信: 11 のシンプルで簡単なステップで学習

Visual Basic for Applications (VBA) は強力なプログラミング言語でありながら簡単で、Microsoft Excel を最大限に自動化できます。そのような自動化の 1 つは、VBA コードを使用して Outlook、PowerPoint、Word などの他の Microsoft アプリを統合し、生産性を向上させることです。

Excel の VBA を使用した電子メールの送信は、スプレッドシートやレポートのメール送信タスクを自動化することで作業を容易にする統合の 1 つです。このチュートリアルでは、Excel から VBA を使用して電子メールを送信する手順を、わかりやすい手順で説明します。

VBA で電子メールを送信: 11 のシンプルで簡単なステップで学習

Microsoft Outlook オブジェクト ライブラリのアクティブ化

Outlook のメール送信オブジェクト参照はExcel VBAの外部オブジェクトであるため、設定する必要があります。次の手順に従ってください。

  • [ファイル] > [名前を付けて保存] をクリックして場所を選択し、[名前を付けて保存] の種類を変更して、既存の Excel ファイルをマクロ有効ファイルとして保存します。
  • Alt+F11を押してVBA コード エディタを表示し、上部のメニュー バーにある[ツール]をクリックします。

VBA で電子メールを送信: 11 のシンプルで簡単なステップで学習

  • そこから、「参照」を選択し、 「利用可能な参照」リストをスクロールして、 「Microsoft Outlook 16.0 Object Library」を見つけます。
  • オブジェクトを選択し、「OK」をクリックして「使用可能な参照」リストを終了します。

VBA を使用した電子メールの送信: コードを記述して実行する

Excel VBA で Outlook オブジェクトを有効にしたので、次の手順に従って Excel マクロを作成し、実行します。

  • VBA コード エディター インターフェイスを使用していることを確認してください。次に、 Excel VBA のトップ メニューで[挿入]タブを探します。
  • [挿入]をクリックし、 [モジュール]を選択して、VBA コードを記述できるモジュールを挿入します。
  • 次に、次の VBA スクリプトをコピーして、新しく作成したモジュールに貼り付けます。

Sub sending_email_with_VBA() Dim EmailApp As Outlook.Application Dim Source As String Set EmailApp = New Outlook.Application Dim EmailItem As Outlook.MailItem Set EmailItem = EmailApp.CreateItem(olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "顧客の注文の配送状況" EmailItem.HTMLBody = "こんにちは、チーム" & vbNewLine & vbNewLine & "今日の注文のスプレッドシートを PFA status" & _ vbNewLine & vbNewLine & _ "よろしく" & vbNewLine & _ "Tamal Das" Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub

上記のコードは、Outlook アカウントを使用して、コード内で指定されている電子メール アドレスに電子メールを送信します。

電子メールのコンテンツは、EmailItem.HTMLBodyコード ラインでも使用できます。さらに、Excel VBA は、ソース ワークブックを添付ファイルとして電子メールに自動的に添付します。

次の変更を加えて、アドレスと電子メールの本文をカスタマイズできます。

  • 見積もり内のすべての電子メール アドレスを独自のOutlook 連絡先に置き換えます。
  • 引用内のEmailItem.Subjectテキストを必要に応じてカスタマイズします。
  • EmailItem.HTMLBodyコードでは、引用符内のすべてのテキストを独自のコンテンツに置き換えることができます。
  • 次に、 F5を押して VBA スクリプトを実行します。

VBA で電子メールを送信: 11 のシンプルで簡単なステップで学習

VBA を使用して電子メールを正常に送信するには、Microsoft Office スイートのスタンドアロン Outlook アプリでGmail アカウントまたは Outlook アカウントを構成する必要があります。オンライン ブラウザ ベースの Outlook は、この VBA コードでは動作しません。

結論

VBA を使用して電子メールを送信するための前述の手順を実行したので、Excel で日常的なタスクを自動化することがより簡単になるはずです。たとえば、共同作業者がワークシートを更新したときに、スプレッドシート ファイルから電子メールが自動的に送信されるようにします。また、Excel の注文ステータス列を更新するときに、顧客に自動メールを送信します。

VBA を使用して Excel をさらに自動化したい場合は、VBA タイムスタンプコーディングを利用してスプレッドシートの変更のログを保持します。


Word でインデントする方法: 知っておくべき 4 つの最良の方法

Word でインデントする方法: 知っておくべき 4 つの最良の方法

あなたのブログ、ウェブサイト、その他の文学作品の可読性を高めたいと思いませんか? Word でインデントを正しく行う方法を学ぶ必要があります。

Word 文書のボックスにチェックを入れる方法: あなたに最適な 2 つの方法

Word 文書のボックスにチェックを入れる方法: あなたに最適な 2 つの方法

チェックボックスを使用すると、リスト、タスク、アンケートが読みやすくなります。Word 文書でボックスをチェックする方法を知りたいですか? この Word チュートリアルをお読みください。

複数のテクニックを使用して Word でテキストをシームレスに折り返す方法

複数のテクニックを使用して Word でテキストをシームレスに折り返す方法

MS Word 文書に画像を追加するときに、画像の周囲にテキストを折り返す必要がある場合があります。簡単な方法を使用して Word でテキストを折り返す方法を学びます。

Excel でスペルチェックを行う方法

Excel でスペルチェックを行う方法

Excel でスペルチェックを行う方法を知りたいですか? ここでは、Excel のスペル チェックの手動、ショートカット、および自動方法をカバーする最適なオプションを紹介します。

Word 文書のコピーを作成する方法: 試してみる 3 つの簡単な方法

Word 文書のコピーを作成する方法: 試してみる 3 つの簡単な方法

Word 文書のコピーを作成する必要がある場合は、コピーを作成してドライブ上の任意の場所に保存する方法を説明します。

Excelのチェックマークとは何ですか? 知っておくべきことすべて

Excelのチェックマークとは何ですか? 知っておくべきことすべて

Excel のチェック マークについて詳しく知りたいですか? それなら、あなたは正しい場所に来ました!リンクをクリックして今すぐ記事を読んでください。

PDF を Word に挿入する方法: 従うべき 2 つの簡単な方法

PDF を Word に挿入する方法: 従うべき 2 つの簡単な方法

編集のため、または Word 文書の参照として PDF を Word にインポートする必要がありますか? その方法についての簡単なガイドを次に示します。

Word 2010 を使用せずに Docx ファイルを開く

Word 2010 を使用せずに Docx ファイルを開く

Microsoft が Office Word 2003 から Office Word 2007 に移行したとき、Word ドキュメントの形式も .doc から .docx に変更されました。しかし今ではMSが作った

封筒に簡単に印刷する方法: 知っておくべき 2 つの最良の方法

封筒に簡単に印刷する方法: 知っておくべき 2 つの最良の方法

複数の封筒に住所を書くのは面倒な作業になる可能性があります。代わりに、これらの最良の方法を使用して封筒に印刷する方法を学びましょう。

Excel VBA タイムスタンプを使用して自動イベント ログを挿入する方法

Excel VBA タイムスタンプを使用して自動イベント ログを挿入する方法

Excel でのタイムスタンプ タスクを自動化したいですか? Excel VBA タイムスタンプを使用して自動イベント ログを挿入する方法については、この記事をお読みください。