CDO.Message を使ってメールを送信するサンプルプログラムです。これは事前準備として Microsoft CDO for Windows 2000 Library を参照設定する必要があります。
コンテンツ
条件整理
最低限の機能説明のため社内イントラネット内にある自由に使えるSMTPサービス(メールサーバー)がある前提で説明します。
SMTPサービス | 192.168.0.250 |
---|---|
宛先 | atesaki@hogehoge.com |
差出人 | sashidashinin@hogehoge.com |
参照設定 | Microsoft CDO for Windows 2000 Library |
VBA Editor → ツール → 参照設定 → Microsoft CDO for Windows 2000 Library をチェック → [OK]ボタンをクリック
動作確認用サンプルプログラム
※動作確認はエクセルを使ってボタンにマクロの登録を行った方が簡単かもしれません。
まずは最小サンプルを書いてみました。条件整理で書いた部分はご自身の環境に合わせて修正し後はコピペで動作テストしてみて下さい。
Function メール発信_cdomessage() Dim OBJ_CDOMSG As New CDO.Message 'オブジェクト宣言 With OBJ_CDOMSG With .Configuration.Fields '設定項目 .Item(CdoConfiguration.cdoSMTPServer) = "192.168.0.250" 'SMTPサービス .Item(CdoConfiguration.cdoSendUsing) = 2 'SMTPポートに接続 .Item(CdoConfiguration.cdoSMTPServerPort) = 25 'ポート番号 .Update '設定を更新 End With .From = "sashidasinin@hogehoge.com" '差出人 .To = "atesaki@hogehoge.com" '宛先 .Subject = "テストメール" '件名 .TextBody = "これはテストメールです" '本文 .Send '送信 End With Set OBJ_CDOMSG = Nothing End Function
以下サンプルプログラムの解説です。
オブジェクト宣言
Dim OBJ_CDOMSG As New CDO.Message ‘オブジェクト宣言
CDO.Message を OBJ_CDOMSG という変数で宣言します。
With OBJ_CDOMSG.Configuration.Fields
.Item(CdoConfiguration.cdoSMTPServer) = “192.168.0.250” ‘SMTPサービス
.Item(CdoConfiguration.cdoSendUsing) = 2 ‘SMTP ポートに接続
.Item(CdoConfiguration.cdoSMTPServerPort) = 25 ‘ポート番号
.Update ‘設定を更新
順に接続するメールサーバ、使用するサービス、使用するポート番号を宣言し設定を更新します。
With OBJ_CDOMSG
.From = “sashidasinin@hogehoge.com” ‘差出人
.To = “atesaki@hogehoge.com” ‘宛先
.Subject = “テストメール” ‘件名
.TextBody = “これはテストメールです” ‘本文
.Send ‘送信
順に差出人アドレス、宛先アドレス、件名、本文です。
.Send でメールを送信します。
オブジェクト破棄
Set OBJ_CDOMSG = Nothing
Nothing でオブジェクトを破棄します。
マクロの実施
マクロから「プロシージャの実行」を選びファンクション名:メール発信_cdomessage() を記述しマクロを実行します。
関連記事:「アクセスのマクロからアラームメールを発信する【Access マクロ】」
関連記事:「Basp21を使ってアクセスのマクロから電子メールを発信する【Access マクロ】」
この記事へのコメントはありません。