エクセルからメールを送信するマクロ(適切な5つの例)

  • これを共有
Hugh West

今回は、以下の内容をご紹介します。 5 マクロ まで メール送信 から エクセル 我々の手法を実証するために、以下のようなデータセットを選びました。 3列 : " 名称 ", " 電子メール " と、" 都市 ".

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

マクロを使用してメールを送信する.xlsm

Excelからメールを送信するマクロを使う5つの方法

1.メール送信のためのOutlookオブジェクトライブラリの利用

最初の マクロ を有効にします。 Microsoft Outlook 16.0 オブジェクトライブラリ " になります。 おくる アン 電子メール から エクセル .さらに、ログインする必要があります。 展望 アカウントに入れる エクセル .

ステップス

冒頭で、持ち出すのは ビジュアルベーシック ウィンドウに表示されます。

  • まず最初に、から。 デベロッパー タブ>>>選択 ビジュアルベーシック .

または ALT + F11 を表示します。 ブイビーエー ウィンドウに表示されます。

  • 第二に、から ツール >>>選択 " 参考文献... ".

新しい ダイアログボックス が表示されます。

  • 3つ目は、""を選択することです。 Microsoft Outlook 16.0 オブジェクトライブラリ 「を押してください。 よっしゃー .

このように、有効にすることで Outlookオブジェクトライブラリ .

  • からのもの。 インサート >>>選択 モジュール .

ここにコードを打ち込みます。

  • その後、以下のコードを入力してください。
 Sub Macro_Send_Email() Dim eApp As Outlook.Application Dim eSource As String Set eApp = New Outlook.Application Dim eItem As Outlook.MailItem Set eItem = eApp.CreateItem(olMailItem) eItem.To = Range("C5").Value 'These items are optional 'eItem.CC = "[email protected]" 'etem.BCC = "[email protected]" eItem.Subject = "Sending Email using VBA from Excel" eItem.Body = "Hello," & vbNewLine &.Set eItem= 'メール "を選択します。"Hope this email finds you well" & _ vbNewLine & vbNewLine & _ "Sincerely," & vbNewLine & "Exceldemy" 'If you want to attach this workbook, then uncomment these two lines from below 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'can use .Send End Sub. 

VBAのコードブレイクダウン

  • まず最初に、私たちの サブプロシジャ マクロ_送信_メール .
  • 2つ目は、宣言している 変数 の種類があります。
  • 3つ目は、「選択」です。 展望 として、私たちの メール応募 .
  • そして、私たちの選択する 電子メール 送信元アドレス セルC5 .
  • その後 電子メール の内容がコードに設定されています。
  • 最後に、" VBA ディスプレイプロパティ 「を表示するために使用されます。 電子メール .そのため 送信 手動で おくる その メール さらに、" プロパティの送信 " になります。 メイルを送る を表示させない。
  • その後です。 保存 を閉じてください。 モジュール .

では、次に 実行 を表示します。

  • まず最初に、から。 デベロッパー タブ>>> 選択 マクロ .

があります。 マクロのダイアログボックス が表示されます。

  • 2つ目は、弊社を選択することです。 サブプロシジャ " マクロ_送信_メール ".
  • 最後に 実行 .

コードを実行した後に 電子メール ウィンドウをクリックします。 送信 .このように、1つ目の方法としてご紹介したのは そうしん アン 電子メール から 抜きん出る 使って ブイビーエー .

続きを読む Outlookを使わずにExcel VBAからメールを送信する(4つの適切な例)

2.ExcelでGmailアカウントからメールを送信するためのマクロ

この方法の場合、必要なのは セキュアでないアプリアクセス から Gメール を有効にする必要があります。 マイクロソフトCDO から 参考文献 のメニューがあります。

ステップス

  • まず最初に。 のように、最初の方法で を表示させます。 参考文献ダイアログボックス .
  • 2つ目は、""を選択することです。 Microsoft CDO for Windows 2000 ライブラリ "を押してください。 よっしゃー .

  • 3つ目は、次の通りです。 セキュリティ あなたの Googleアカウントの設定 .
  • 最後に、オンにしてください。 アプリへのアクセスの安全性が低い .

さて、ここで入力するのは マクロ のコードになります。

  • まず最初に。 方法1に示すように を表示させます。 モジュール ウィンドウを開き、このコードを入力してください。
 Option Explicit Sub Send_Gmail_Macro() Dim cMail As Object Dim cConfig As Object Dim sConfig As Variant Dim cSubject As String Dim cFrom As String Dim cTo As String Dim cCC As String Dim cBcc As String Dim cBody As String cSubject = "Macro to Send Gmail" cFrom = "[email protected]" cTo = "[email protected]" cBody = "Hello. This is automated message. Please don't reply" Set cMail = "Gメール送信マクロ "を実行します。CreateObject("CDO.Message") On Error GoTo Error_Handling Set cConfig = CreateObject("CDO.Configuration") cConfig.Load -1 Set sConfig = cConfig.Fields With sConfig .Item("//schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("//schemas.microsoft.com/cdo/configuration/smtpserver") ="smtp.gmail.com" .Item("//schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1.Item("//schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" .Item("//schemas.microsoft.com/cdo/configuration/sendpassword") = "SenderGmailPassword" .Item("//schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 .Item("//schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With cMail Set .Configuration = cConfig End With cMail.Subject = .cSubject cMail.From = cFrom cMail.To = cTo cMail.TextBody = cBody cMail.CC = cCC cMail.BCC = cBcc cMail.Send Error_Handling: If Err.Description "" Then MsgBox Err.Description End Sub. 

VBAのコードブレイクダウン

  • まず最初に、私たちの サブプロシジャ 送信_Gmail_Macro .
  • 2つ目は、宣言している 変数 の種類があります。
  • 3つ目は、設定する 電子メール の内容をコード化したものです。
  • それから、私たちの提供する ログイン認証 自分で入力する必要があります ID パスワード をご覧ください。
  • その後、私たちが定めた ポート まで 465 .
  • 最後に そうしん 我が 電子メール .
  • それから。 セーブ 実行 このコード

私たちは、成功した おくった アン 電子メール を弊社住所までお送りください。

続きを読む: エクセルから本文付きメールを送信するマクロ(便利な3つのケース)

3.カラムから受信者リストにメールを送信する

3つ目の方法については メイルを送る まで 7 使用者 マクロ から エクセル 最後の1枚を見つけよう というのは、このコードはより長いリストに対して動作するからです。 ここでは メイルを送る から セルC5:C10 の範囲である。

ステップス

  • まず最初に。 方法1に示すように を表示させます。 モジュール ウィンドウを開き、このコードを入力してください。
 Sub Macro_Send_Email_From_A_List() Dim pApp As Object Dim pMail As Object Dim z As Integer Dim eList As String Dim eRow As Long Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) eRow = Range("C:C").SpecialCells(xlCellTypeLastCell).Row - 1 With pMail eList = ""For z = 5 To eRow If eList = ""Then eList = Cells(z, 3).Value Else eList = eList &" & Cells(z.Value) = ""; ""; ""-1 Set pMail = pMail_Mem_List(0) Set eList = pApp(0)3).Value End If Next z .BCC = eList .Subject = "Hello There" .Body = "This Message is brought to you by Exceldemy." .Display 'You can use .Send here End With Set pMail = Nothing Set pApp = Nothing End Sub 

VBAのコードブレイクダウン

  • まず最初に、私たちの サブプロシジャ Macro_Send_Email_From_A_List。 .
  • 2つ目は、宣言している 変数 の種類があります。
  • 3つ目は、「選択」です。 展望 として、私たちの メール応募 .
  • そして、その中から さいかだん である。 10 をデータセットに追加しました。
  • その後、私たちのように 電子メール を起点に 5行目 入力済み 5 の開始値として、" 変数z 「さらに メール が出ています。 C列 を入力しました。 3 内は 細胞 プロパティを使用します。
  • そして、その後に設定する 電子メール の内容をコード化したものです。
  • 最後に、" .表示 「を表示するために使用されます。 電子メール .そのため 送信 手動で おくる その メール さらに、" .送信 " になります。 メール送信 を表示させない。
  • それから。 セーブ 実行 その モジュール .

私たちのすべての メール が表示されます。 ビーシーシー 結論から言うと、単純に 送信 を完成させることです。

続きを読む Excelのリストからメールを送信する方法(2つの効果的な方法)

類似の読み物

  • Excelで条件を満たしたときに自動的にメールを送信する方法
  • Excelファイルをオンラインで共有する方法(2つの簡単な方法)
  • VBAを使用してExcelワークシートから自動的にリマインダーメールを送信する
  • エクセルで条件を満たした場合にメールを送る方法(3つの簡単な方法)
  • Excelでワークブックを共有できるようにする方法

4.単票をメールで送信するマクロ

この項では おくる その アクティブワークシート の位置を決める必要があります。 エクセル ファイルを作成します。

ステップス

  • まず最初に。 方法1に示すように を表示させます。 モジュール ウィンドウを開き、このコードを入力してください。
 Sub Macro_Email_Single_Sheet() Dim pApp As Object Dim pMail As Object Dim zBook As Workbook Dim fxName As String 'Dim zSheet As Worksheet 'Dim shtName As String Application.ScreenUpdating = False ActiveSheet.Copy Set zBook = ActiveWorkbook fxName = zBook.Worksheets(1).Name On Error Resume Next Kill "C:\UsersRafi⁰Drive</Desktop} Cancel...& fxName On Error GoTo 0 zBook.SaveAsFileName:="C:♪UsersRafi♪OneDrive♪Desktop♪Softeko♪47" & fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Macro to Send Single Sheet via Email" .Body = "Dear RecieverName," & vbCrLf & vbCrLf & _"Your requested file is attached" .Attachments.Add zBook.FullName .Display End WithzBook.ChangeFileAccess Mode:=xlReadOnly Kill zBook.FullName zBook.Close SaveChanges:=False Application.ScreenUpdating = True Set pMail = Nothing Set pApp = Nothing End Sub 

VBAのコードブレイクダウン

  • まず最初に、私たちの サブプロシジャ Macro_Eメール_シングルシート .
  • 2つ目は、宣言している 変数 の種類があります。
  • 第三に、コピーしているのは アクティブシート として保存し、別の ワークブック .
  • その後、選択中の 展望 として、私たちの メール応募 .
  • そして、その後に設定する 電子メール の内容をコード化したものです。
  • そのあと、添付の シート になります。 電子メール .
  • 最後に、" .表示 " を表示します。 電子メール .そのため 送信 手動で おくる その メール さらに、" .送信 " になります。 メール送信 を表示させない。
  • それから。 保存 実行 その モジュール .

を見ることになります。 シート の名前を入力します。 送信 をクリックすると、タスクが完了します。

できること かいほうてき を実行し、コードが動作していることを確認します。

続きを読む 編集可能なExcelスプレッドシートをメールで送信する方法(3つの簡単な方法)

5.セルの値を元にメールを送信するマクロ

最後のメソッドでは、データセットを少し変更します。 支払方法 デュー " をデータセットに追加します。 おくる アン 電子メール を含む都市" オバマ " をはっきりと見ることができます。 5行目 が含まれているので、それを おくる アン 電子メール をその人だけに見せる。

ステップス

  • まず最初に。 方法1に示すように を表示させます。 モジュール ウィンドウを開き、このコードを入力してください。
 Option Explicit Sub Send_Email_Condition() Dim xSheet As Worksheet Dim mAddress As String, mSubject As String, eName As String Dim eRow As Long, x As Long Set xSheet = ThisWorkbook.Sheets("Conditions") With xSheet eRow = .Cells(.Rows.Count, 5).End(xlUp).Row For x = 5 To eRow If .Cells(x, 4)>= 1 And .Cells(x, 5) = "Obama" Then mAddress = .Cells(x, 3) mSubject = "Request For Payment" eName = "支払い依頼"..Cells(x, 2) Call Send_Email_With_Multiple_Condition(mAddress, mSubject, eName) End If Next x End With End Sub Send_Email_With_Multiple_Condition(mAddress As String, mSubject As String, eName As String) Dim pApp As Object Dim pMail As Object Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = mAddress .CC = "" .BCC = "" .Subject = mSubject .Body = (mMail = 0 ) Set pApp = pMail (mAaddress) { { { mSubject="eNem", { { { { }, { { },}) }} With Pail (メール) }) With P Mail { { }}.Cells = mSubject = mMultiple_Condition (アドレスと文字)"Mr./Mrs." & eName & ", Please pay due amounts within next week." _ & vbNewLine & "The exact amount is attached with this email." .Attachments.Add ActiveWorkbook.FullName 'Send The File via Email .Display 'We can use .Send here too End With Set pMail = Nothing Set pApp = Nothing End Sub 

VBAのコードブレイクダウン

  • まず、最初の サブプロシジャ メール送信条件 .
  • 2つ目は、宣言している バリアブル 種類と設定 " 条件 「を私たちの シート .
  • 第三に、最後の からスタートします。 5行目 ということで 5行目 最後まで をコードに追加しました。
  • 次に、2番目の サブプロシジャ 複数の条件を指定してメールを送信する .
  • その後、選択中の 展望 として、私たちの メール応募 .
  • その後 電子メール の内容がコードに設定されています。
  • ここでは エクセル というファイルを作成します。 電子メール を使用しています。 アタッチメント メソッドを使用します。
  • その後、" .表示 「を表示するために使用されます。 電子メール .そのため 送信 手動で おくる その メール さらに、" .送信 " になります。 メイルで送る を表示させない。
  • それから。 セーブ 実行 その モジュール .

結論から言うと、今回もまた別の方法をご紹介しました。 そうしん アン 電子メール 使って VBAマクロ から エクセル .

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

プラクティス部門

の各メソッドに練習用データセットを追加しました。 エクセル ファイルを作成します。

結論

をお見せしました。 5 使用方法 マクロ まで おくる アン 電子メール から エクセル 読んでくれてありがとう、これからもよろしくね

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