Outlookを使用せずにExcelマクロを使用して電子メールを送信する方法
Excel マクロからメールを送信する理由はたくさんあります。たとえば、売上高が特定の値に達したとき、マネージャーはすぐに知りたいと思うかもしれません。 Excel マクロから電子メールを送信する方法はいくつかありますが、最も一般的に使用される方法は、Outlook を利用することです。スプレッドシートを開くために使用しているコンピューターに Outlook がインストールされていない場合、これは問題です。その場合は、代わりに Collaboration Data Object の略である CDO を使用できます。
ステップ 1
Excel スプレッドシートで "Alt" と "F11" を同時に押して、組み込みの Visual Basic エディターを開きます。
ステップ 2
次のコードを空白のコード ウィンドウにコピー アンド ペーストします:Sub CDO_Mail_Small_Text() Dim iMsg As Object Dim iConf As Object Dim strbody As String ' Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration") .Item("http://schemas.Microsoft.com/cdo/configuration/sendusing") =2 ' .Item("http://schemas.Microsoft.com/cdo/configuration/smtpserver") _ ' ="塗りつぶしここの SMTP サーバーで" .Item("http://schemas.Microsoft.com/cdo/configuration/smtpserverport") =25 ' .Update ' End With
strbody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2" & vbNewLine & _
"This is line 3" & vbNewLine & _
"This is line 4"
With iMsg
Set .Configuration = iConf
.To = "person@email.com"
.CC = ""
.BCC = ""
.From = """Person"" < person@email.com >"
.Subject = "Subject Line"
.TextBody = strbody
.Send
End With 終了サブ
ステップ 3
"Fill in your SMTP server here" を、使用する SMTP サーバーのアドレスに置き換えます。
ステップ 4
「F5」を押してマクロを実行し、メール メッセージを送信します。
ヒント
独自の SMTP サーバーをお持ちでない場合は、Google が無料で使用できる SMTP サーバー (http://gmail.google.com) を提供しています。