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 = "[email protected]" .CC = "" .BCC = "" .From = """Person"" < [email protected] >" .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) を提供しています。