メールを自動送信するExcelマクロ(適切な例3つ)

  • これを共有
Hugh West

このチュートリアルでは、Excelマクロを使用して自動的にメールを送信する方法を説明します。 メール送信機能の設定には ブイビーエー マクロを使用します。 ブイビーエー マクロでは、複数のユーザーに同時にメールを送ることができます。 そのためには 展望 マクロでメールを自動送信するために、端末にインストールされたコードに 展望 を使用して、受信者にメールを送信します。

練習用ワークブックをダウンロードする

練習用ワークブックは、こちらからダウンロードできます。

電子メールを自動的に送信する.xlsm

メールを自動送信するExcelマクロの好適な3つの例

この記事を通して、私たちはデモンストレーションを行います。 3 エクセルマクロを使用して、受信者に自動的に電子メールを送信する適切な例です。 例を説明し始める前に、私たちのExcelシートのものを修正する必要があります。 自動的に電子メールを送信するマクロを適用する前に、以下の手順を完了します。

STEPS

  • まず、データセットから デベロッパー」タブ .オプションを選択する ビジュアルベーシック .

  • 次に ツール タブをクリックし、オプションを選択します。 参考文献 .

  • という名前の新しいダイアログボックスが表示されます。 参考文献 - VBAProject ' が開きます。
  • 最後に、オプションの' Microsoft Office 16.0 オブジェクトライブラリ 'をクリックします。 よっしゃー .

1.セルの値に基づいて自動的に電子メールを送信するExcel VBAマクロを適用する

何よりもまず、エクセルを適用します。 ブイビーエー マクロを使って、データセットの特定のセルの値に基づいて自動的にメールを送信します。 この例を説明するために、次のデータセットを使用します。 D6 よりも大きいです。 400 .

このアクションを実行するための手順を見てみましょう。

STEPS

  • そもそも せいかい - クリック シートの上に ' セルベース '.
  • さらに、オプションの「'」を選択します。 表示コード '.

  • 上記の操作で、空白の ブイビーエー コードウィンドウを開くもう一つの方法は アルト + F11 .
  • さらに、そのコードウィンドウに次のコードを入力します。
 Dim rg As Range Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Cells.Count> 1 Then Exit Sub Set rg = Intersect(Range("D6"), Target) If rg Is Nothing Then Exit Sub If IsNumeric(Target.Value) And Target.Value> 400 Then Call send_mail_outlook End If End Sub send_mail_outlook() Dim z As Object Dim y As Object Dim b As String Set z = (ターゲット) End If If Sub send_mail_outlook(Target.Value, Target.Value) End If End Sub set_set(Range("A6"))CreateObject("Outlook.Application") Set y = z.CreateItem(0) b = "こんにちは!" & vbNewLine & _"Hope you are well" & vbNewLine & _"Visit our site Exceldemy" On Error Resume Next With y .To = "Address" .cc = "" .BCC = "" .Subject = "Send email based on cell value" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub 
  • をクリックします。 実行 ボタンを押すか F5 キーを押して、コードを実行します。

  • という新しいダイアログボックスが表示されます。 マクロ が表示されます。
  • その後 マクロ名 フィールドでマクロ ' を選択します。 send_mail_outlook '.
  • ここで 実行 ボタンをクリックします。

  • 最後に、今後、セル D6> 400 でんしメール 展望 をクリックすれば、自動的に特定の宛先が生成されます。 送信 ボタンを押すと、メールが送信されます。

続きを読む セルの内容をもとにExcelから自動的にメールを送信する(2つの方法)

2.VBAマクロで期限に応じたメールを自動送信する

2つ目の方法では、Excelの ブイビーエー マクロは、プロジェクトの期日が近づくと自動的にメールを送信します。 これは、リマインダーのようなものです。 この例では、次のデータセットを使います。 このデータセットには、さまざまな営業担当者のメール、メッセージ、そしてプロジェクトの期日が含まれています。

この方法は、以下の手順で行います。

STEPS

  • まず、シート上で右クリック 日付 .
  • 次に、オプションの「」を選択します。 表示コード '.

  • 空白が開きます ブイビーエー コードウィンドウを表示します。 アルト + F11 をクリックすると、そのコードウィンドウが表示されます。
  • そして、そのコードウィンドウに以下のコードを挿入してください。
 Public Sub Based_on_Date() Dim aRgDate As Range Dim aRgSend As Range Dim aRgText As Range Dim aRgDone As Range Dim aOutApp As Object Dim aMailItem As Object Dim aLastRow As Long Dim CrLf As String Dim aMailBody As String Dim zRgDateVal As String Dim zRgSendVal As String Dim aMailSubject As String Dim j As Long On Error Resume Next Set aRgDate = Application.InputBox("select column of due ").Date:", _ "Send Mail Base on Date", , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("select the email recipients column:", _ "Send Mail Base on Date", , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Select the content column of email:", _ "Send Mail Base on Date", , ,, 8) If aRgText Is Nothing Then Exit Sub aLastRow = アプリケーション・ボックスでメール送信を選択し、送信を終了させる。aRgDate.Rows.Count Set aRgDate = aRgDate(1) Set aRgSend = aRgSend(1) Set aRgText = aRgText(1) Set aOutApp = CreateObject("Outlook.Application") For j = 1 To aLastRow zRgDateVal = "" zRgDateVal = aRgDate.Offset(j - 1).Value If zRgDateVal "" Then If CDate(zRgDateVal) - Date 0 Then zRgSendVal = aRgSend.Offset(j - 1).Value aMailSubject = aRgText.Offset(j - 1).Value & " on " & zRgDateVal CrLf= " 

" aMailBody = "" aMailBody = aMailBody & "こんにちは " & zRgSendVal & CrLf aMailBody = aMailBody & "Message: " & aRgText.Offset(j - 1).Value & CrLf aMailBody = aMailBody & "" Set aMailItem = aOutApp.CreateItem(0) With aMailItem .Subject = aMailSubject .To = zRgSendVal .HTMLBody = aMailBody .Display End With Set aMailItem = Nothing End If End If Next Set aOutApp = Nothing Endサブ

  • では 実行 ボタンまたは F5 キーを押して、コードを実行します。

  • 新しいダイアログボックスがポップアップ表示されます。
  • その後、そのダイアログボックスの入力フィールドで、期日列の範囲を選択します。 D$5:$D$9 をクリックします。 よっしゃー .

  • もうひとつ、ダイアログボックスが表示されます。
  • さらに、入力フィールドで列の範囲を選択します。 B$5:$B$9 をクリックします。 よっしゃー .

  • さらに、もう一つのウィンドウが表示されるので、メッセージの範囲を選択します。 C$5:$C$9 をポップウィンドウの入力フィールドに入力します。

  • 最終的には、次の画像のような結果が得られます。 このようになります。 3 で自動的に作成されるメール。 3 の異なるウィンドウです。 展望 この場合、最初の2つのメールアドレスにはメールが作成されません。 なぜなら、その2つのプロジェクトの期限は過ぎているからです。

続きを読む Excelから日付を元にメールを自動送信する方法

類似の読み物

  • [解決済み】:Excelでワークブックの共有が表示されない(簡単な手順付き)
  • Excelのリストからメールを送信する方法(2つの効果的な方法)
  • 編集可能なExcelスプレッドシートをメールで送信する方法(3つの簡単な方法)
  • エクセルからメールを送信するマクロ(適切な5つの例)
  • エクセルから本文付きメールを送信するマクロ(3つの便利なケース)

3.エクセルマクロで添付ファイル付きメールを自動送信する

最後の例では、添付ファイル付きの電子メールを自動的に送信するExcelマクロを開発する方法を説明します。 次の画像のような添付ファイルがあるとします。 この添付ファイルをExcelを使って電子メールで送信したいと思います。 ブイビーエー そのためには、このExcelファイルのパスが必要です。 以下に、その手順を示します。

  • ファイルを選択します。 添付ファイル.xlsx ' '.
  • オプションの「」をクリックします。 コピーパス '.

  • そこで、取得するファイルのパス。
E:\ExceldemyAttachment.xlsx

このパスをマクロコードに挿入して、このファイルを電子メールで送信します。 以下の手順で行います。

STEPS

  • まずは デベロッパー タブをクリックし、オプションを選択します。 ビジュアルベーシック .

  • という名前の新しいウィンドウが表示されます。 プロジェクト - VBAProjectが開きます。 '.
  • 2つ目は 右クリック をシート名で表示します。
  • 次に、以下を選択します。 インサート > モジュール .

  • 上記のコマンドを実行すると、空白の ブイビーエー
  • 3つ目は、そのModuleに以下のコードを入力することです。
 Sub send_Email_complete() Dim MyOutlook As Object Set MyOutlook = CreateObject("Outlook.Application") Dim MyMail As Object Set MyMail = MyOutlook.CreateItem(olMailItem) MyMail.To = "[email protected]" MyMail.cc = "[email protected]" MyMail.BCC = "[email protected]" MyMail.Subject = "Sending Email with VBA." MyMail.Body = "This is Sample Mail.Attached_File = "E:\ExceldemyAttachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • を押してください。 F5 キーを押すか 実行 ボタンをクリックすると、コードが実行されます。

  • 最後に、コード内で指定されたメールに添付ファイルを送信します。 このコードでは、メールを送信する際に 展望 .そこで、クリックします。 許可する ボタンを押すと 展望 指定されたメールに添付ファイルを送信します。

続きを読む Excelから添付ファイル付きメールを送信するマクロの適用方法

結論

結論として、この記事から 3 エクセル使用例 ブイビーエー マクロを使って、自動的にメールを送信することができます。 この記事で紹介したサンプルワークシートをダウンロードして、あなたのスキルを試してみてください。 何か質問があれば、下のボックスにコメントを残してください。 私たちのチームは、できるだけ早くあなたのメッセージに答えるようにします。 これからも、創意工夫に注目してください。 マイクロソフトエクセル のソリューションを提供します。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。