excelからメール送信するのにbasp21というソフトを使用します。
ライセンスフリーでネットからダウンロードできるのでインストールしてください。
mail1が点数通知用
mail2が合否通知用
です。
Server = "mail.jp.****.com"
は、SMTP送信に入っているアドレスです。
MailFrom = "****@****" ''メールの差出し人
の部分に自分のメールアドレスを設定です。
A列の宛先アドレスも、最初は自分のメールアドレスを入れておくと、自分宛にメールが来るので、内容の確認出来ます。
Sub mail1()
'点数メール送信
'尚、このマクロを有効にするにはbasp21.exeのインストールが必要
Dim bobj, msg As String
Dim Server As String, Mailto As String, MailFrom As String, Subject As String, Body As String
Sheets("メール送信").Select
For i = 1 To Range("A1").End(xlDown).Row
Set bobj = CreateObject("basp21") ''BASP21オブジェクト
Server = "mail.jp.****.com" ''SMTPサーバー
Mailto = Cells(i, 1) ''メールの宛先
MailFrom = "****@****" ''メールの差出し人
Subject = "【点数のお知らせです】" ''メール送信タイトル
Point = Cells(i, 2) ''点数
Body = "点数のお知らせです" & vbCrLf & Point & "点でした" & vbCrLf & "確認ください。" ''メール本文
msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, "")
Set bobj = Nothing
Next
End Sub
Sub mail2()
'合否メール送信
'尚、このマクロを有効にするにはbasp21.exeのインストールが必要
Dim bobj, msg As String
Dim Server As String, Mailto As String, MailFrom As String, Subject As String, Body As String
Sheets("メール送信").Select
For i = 1 To Range("A1").End(xlDown).Row
Set bobj = CreateObject("basp21") ''BASP21オブジェクト
Server = "mail.jp.****.com" ''SMTPサーバー
Mailto = Cells(i, 1) ''メールの宛先
MailFrom = "****@****"" ''メールの差出し人"
Subject = "【合否結果の連絡です】" ''メール送信タイトル
Select Case Cells(i, 3)
Case "合格"
Body = "合格です" & vbCrLf & "おめでとうございます" & vbCrLf & "確認ください。" ''メール本文
msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, "")
Set bobj = Nothing
Case "不合格"
Body = "不合格です" & vbCrLf & "残念でした" & vbCrLf & "確認ください。" ''メール本文
msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, "")
Set bobj = Nothing
End Select
Next
End Sub
私もexcelからメール送信やってて、参考になればです。
お礼
ご丁寧が回答内容に感謝いたします。 ありがとうございました。
補足
ご回答ありがとうございました。 そういうソフトがあるのですね。 慣れればおそらく使いやすそうな感じがしますし、実際のプログラムまでご丁寧に教えていただき大感謝です。 しかし、会社のPCには原則としてアプリの導入は禁止されており、どうしても必要な場合はシステムの許可が必要で、基本NGです。 残念ですが・・・ でもこのようなソフトがあることを知ったので参考にさせていただきます。