質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Outlook

Microsoft OutlookはMicrosoft Officeの一部として組み込まれている、のユーザー管理とメーラーの機能を持ち合わせたソフトウェアです。

Q&A

1回答

11099閲覧

Access2013から複数名にメール送信するVBA

kama2017

総合スコア6

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Outlook

Microsoft OutlookはMicrosoft Officeの一部として組み込まれている、のユーザー管理とメーラーの機能を持ち合わせたソフトウェアです。

0グッド

0クリップ

投稿2017/05/10 05:18

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

accessからoutlookを起動させてメールを送信するVBAを作成しています。
複数名に送信させ、かつ本文に記載するコメントを人により少し
変える予定です。
送付宛の人の情報(名前・メールアドレス)はaccesss テーブルで管理しています。そのテーブルの内容を参照させメールを自動作成したいです。

*最終目標
テーブルで管理している対象者名簿(宛先)へ講座の開講の案内
開始時間(時間は人により違うのでテーブルに指定時刻を入れている)
を送信していきたい。

###発生している問題・エラーメッセージ

outlookは稼働するが、宛先・名前など参照したデータを
メールに流し込む方法がわからない。

エラーメッセージ DoCmd.SendObject から黄色くなって返される。

###該当のソースコード

ここにご自身が実行したソースコードを書いてください

Option Compare Database

Private Sub Form_Current()

End Sub

Private Sub コマンド0_Click()

Dim DB As DAO.Database
Dim R1 As Recordset

Set DB = CurrentDb
Set R1 = DB.OpenRecordset("テーブル1")

R1.MoveFirst

Do Until R1.EOF

DoCmd.SendObject , R1!メールアドレス, R1!CCアドレス, R1!内容, R1!タイトル, , True
R1.MoveNext
Loop

End Sub

###試したこと
課題に対してアプローチしたことを記載してください

accessのフォームからボタンを作りイベントプロシーじゃより
上記を記載して実施をかけたところ、メールは作成されますが
テーブルの情報を参照できません。
*テーブルで信先の複数名の名簿を管理していますが
データ参照がとても難しいです。ご教授おねがいします。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/10 08:19

質問テンプレートの不要な箇所は削除してください、読みづらいです。
guest

回答1

0

引数の設定位置がおかしいようです。

DoCmd.SendObject メソッド (Access)

DoCmd.SendObject , , ,R1!メールアドレス, R1!CCアドレス, , R1!タイトル, R1!内容, False

じゃないかな。あるいは、引数名を指定して記述したほうが読みやすいですね。

DoCmd.SendObject To:=R1!メールアドレス, _ Cc:=R1!CCアドレス, _ Subject:=R1!タイトル, _ MessageText:=R1!内容, _ EditMessage:=False

投稿2017/05/10 08:01

hatena19

総合スコア33715

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kama2017

2017/05/11 02:07

DoCmd.SendObject から教えて頂いた内容に変更してみました。 実行したところ、outlookが起動しかけて途中で止まってしまいます。 実行時エラー2293が表示され、デバックを確認するとDoCmd.SendObjectから 黄色く返されてしまいます。 私が作成したDoCmd.SendObject , , ,R1!メールアドレス, R1!CCアドレス, , R1!タイトル, R1!内容, False に於いては、outlookは起動するが、アドレス・タイトルなどのデータがバラバラにoutlookのメールに反映される現象がおきました。 未熟者で適切な質問ができていないと思いますが、頑張って勉強しますので どうぞご教授ください。お願いします。
hatena19

2017/05/12 01:28

当方の環境では、エラーなく送信できています。 エラー番号だけではエラー内容がわからないので、エラーメッセージの内容を提示してください。 また、最後の False をTrueに変えた場合はどうなりますか。 (すぐに送信せずに、メール内容を編集する画面が開きます。)
kama2017

2017/05/15 00:09

ご助言いただきありがとうございました。 まだ上手くいかない状態ですが再度トライしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問