小さい会社の1人SEの開発記というか奮戦記

  1. Access
  2. 3449 view

CDO.Messageを使ってアクセスのマクロから電子メールを発信する【Access マクロ】

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 マクロ】

Accessの最近記事

  1. Accessの数値型ではまる・・・。

  2. クエリで日付から曜日を算出する。【Access】

  3. クエリのLikeをバイナリーモードで処理したい【Access】

  4. アクセスのマクロ機能を初心者に解説【Access】

  5. NZ関数でNullを上手く使う【Access】

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


お薦め書籍

最近の記事

  1. Access

    Accessの数値型ではまる・・・。
  2. Excel

    日本語をエンコードする【Excel VBA】
  3. Access

    クエリで日付から曜日を算出する。【Access】
  4. PCパーツ

    ASUS AMD Ryzen 4000 シリーズ搭載小型ベア…
  5. Microsoft365

    コンデジをTeamsのWebカメラに使う
  6. SQL Server

    SQL文で今日から7日前までを指定する