OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

MS Access からメールを送るには

  • 暇なときにでも
  • 質問No.177654
  • 閲覧数1751
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 40% (72/179)

現在、MS Accessで顧客の情報を管理しています。名前・住所の他にEメールも
登録しているんですが、このEメールに同じ内容のメールを送りたいと考えて
います。

テキストでエクスポートしてアドレス張に変換せずに、条件を検査後ワンタッチ
で、メーラーのBCCにアドレスを入れる事とかは出来ないでしょうか?
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル11

ベストアンサー率 49% (139/279)

VBAって、Accessのモジュールのことですから、Accessの機能ですよ。

BASP21は、Accessの機能ではありませんが、それほど難しいものではありませんよ。

下記は、サンプルです。

Sub メール送信()
' SMTPサーバーのアドレス
Const sSvName As String = "ご自分のSMTPサーバーのアドレス(xxx.co.jpってやつ)"
' メールのFromに入れるアドレス
Const sFrom As String = "自分のメールアドレス"
' BASP21
Dim bobj As Basp21
' BASP21のメッセージ
Dim sMsg As String
' データベース
Dim cnn As ADODB.Connection
' レコード
Dim rec As New ADODB.Recordset
' 送信先のアドレスを入れる変数
Dim sTo As String

' BASP21のオブジェクトを作成
Set bobj = CreateObject("BASP21")

' 現在のAccessのDBと接続
Set cnn = CurrentProject.Connection

' テーブルを開く
rec.Open "テーブル名またはクエリー名を書く", cnn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect

Do Until rec.EOF
' 送信先のアドレスをテーブルから取得
sTo = rec.Fields("送信先のメールアドレスが入っているフィールドの名前").Value

' メールの送信
sMsg = bobj.SendMail(sSvName, sTo, sFrom, "メールの表題", "メールの本文", "")

If sMsg <> "" Then
'送信に失敗した場合のメッセージ
MsgBox sMsg
End If
'テーブルの次のレコードを読む
rec.MoveNext
Loop

' テーブルを閉じる
rec.Close

' 後始末
Set rec = Nothing
Set cnn = Nothing
Set bobj = Nothing

End Sub

アウトルックを使う方法もあると思いますが、VBAは避けてとおれないと思うのですが・・・
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル11

ベストアンサー率 49% (139/279)

VBAでのプログラミングが出来るのでしたら、BASP21を使用すれば、簡単にメールができます。 ...続きを読む
VBAでのプログラミングが出来るのでしたら、BASP21を使用すれば、簡単にメールができます。
補足コメント
YUNTAKU

お礼率 40% (72/179)

VBAは分からないんです。。。

なんとか、Accessの昨日のみで、テーブルのあるデータからメールをおくること
はできないでしょうか?
投稿日時 - 2001-12-01 10:14:47


  • 回答No.3
レベル7

ベストアンサー率 46% (7/15)

はっきり言うとVBAを使用しないと難しいと思います。 VBAのメールの添付は、それほど難しくないのでがんばってください。 1.フォームにコマンドボタンを一つ作ってください。 2.右クリックからプロパティを選択 3.イベントの「クリック時」を選択して「…」をクリックしてコードビルダ を選択してください。 4・↓の記述をコピー&ペーストして下さい。 DoCmd.SendObject obje ...続きを読む
はっきり言うとVBAを使用しないと難しいと思います。
VBAのメールの添付は、それほど難しくないのでがんばってください。

1.フォームにコマンドボタンを一つ作ってください。
2.右クリックからプロパティを選択
3.イベントの「クリック時」を選択して「…」をクリックしてコードビルダ
を選択してください。
4・↓の記述をコピー&ペーストして下さい。
DoCmd.SendObject objectType:=acSendTable, _
objectname:="添付したいテーブル名", _
outputformat:=acFormatTXT, _ '←TEXT形式に自動添付Excel形式も可
To:=相手先のメールアドレス, _ '←~@~.ne.jpってやつ
subject:="お疲れ様です。", _  '←題名
messagetext:="???.Txtを添付致しました。後処理願います。" '内容
5.×で保存してコマンドボタンをクリックしてみて下さい。
以上です。
※3行目のacFormatTXTをacFormatXLSにするとExcel形式で自動添付することが
できます。
もしわからなければ追記して下さい。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ