• ベストアンサー

MS ACCESSを利用して複数へのメール送信

現在、Microsoft Accessを利用したクレーム管理表を作成中で、そのクレーム内容を複数名にて情報共有したいと思っています。そこで、皆様のアドバイスを頂戴できれば助かります。 Accessのフォーム内に複数のメールアドレスを表示させ、その中から選択したアドレスに対してクレーム内容(レポート)をメール送信(OUTLOOK又はOE)したい。 (できれば、チェックボックスを利用して、チェックを入れたアドレス(又は人名)に対してメール送信を行いたいと思います。) 素人質問で申し訳ございませんが、宜しくお願い致します。

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

  • ベストアンサー
  • skikichi
  • ベストアンサー率65% (45/69)
回答No.6

sendobjectはマクロでもできますが、一旦VBAを覚えるとそちらの方が分かりやすいのでVBAの例を記述しました。 それでは、もっと詳しくご説明します。 フォーム上にメール送信ボタンを作成します。 そのボタンのプロパティーに「イベント」があると思います。 そこの「クリック時」で「イベントプロシージャー」を選択して、右端の「・・・」をクリックしてください。 VBA記述画面が表示されるはずです。 その中のprivate sub と end subの間に前述の内容を貼り付けて完成です。 もちろん、to_adrとcc_adrのアドレス記述は実際に存在するメールアドレスに変更してくださいね。

mashy_ok
質問者

お礼

skikichi様 お礼が遅くなり申し訳ありません。 なんとなく分かってきました。工夫しながら頑張っていきます。本当に色々とありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • skikichi
  • ベストアンサー率65% (45/69)
回答No.5

VBA分りますか? メール送信の部分だけ抜粋して記述します。 ========================== Dim to_adr As String Dim cc_adr As String to_adr = "claim1@xxx.com" cc_adr = "CC@xxx.com" DoCmd.SendObject , , , to_adr, cc_adr, , "クレームの件", "重大なクレームが多数発生しましたので下記に詳細を報告いたします。" & Chr(13) & Chr(10) & "2行目です", False ========================== 分らないところがあればご指摘ください。

mashy_ok
質問者

お礼

skikichi様 返答遅くなり申し訳ありません。 VBA・・・今、懸命に勉強中の段階です。今まではEXCELをメインに使用しており、その際に使用していたマクロは動作をそのまま記録させるものでしたので、VBAは殆ど解からない状態です。 初歩の初歩が理解できていない状態ですので、苦心しています。。  なんとか、SendObjectを使用して、メール送信まではやって見たいと思っています。色々とアドバイスをありがとうございました。

すると、全ての回答が全文表示されます。
  • skikichi
  • ベストアンサー率65% (45/69)
回答No.4

最も確実な方法は「SendObject」を使用する方法です。 ただし、必ずメール送信直前に確認メッセージが表示されます。 一方「SendKeys」は、最後まで自動でメール送信を行えますが、フォームから送信操作をしてからメール送信完了するまでPCの操作をすると正常に送信されないことがあります。 つまり、この機能は実際に手でPCを操作する内容を自動で行うリモート機能のようなものなんです。 たとえば、こんな感じです。 1.メール送信画面でタイトルを挿入 2.次のフィールドへ移動 3.Toアドレスを挿入 1. SendKeys "クレーム有り!", True 2. SendKeys "{TAB}", True 3. SendKeys "mashy_ok@***.ne.jp", True どちらかお好み次第となると思います。

mashy_ok
質問者

補足

skikichi様 アドバイスありがとうございます。 「最も確実な方法」で行きたいと思いますので、「SendObject」について、もう少し教えて頂けないでしょうか? また、情けない事に、どうすれば「SendObject」なるものを使用できるかも良くわかっていませんので、手順を含めてご教示頂けると、とても助かります。宜しくお願いします。

すると、全ての回答が全文表示されます。
  • skikichi
  • ベストアンサー率65% (45/69)
回答No.3

「SendKeys」ではダメですか? ご不明な点は詳しくご説明しますが。

mashy_ok
質問者

補足

ACCESSのHELPを読んでみましたが、何分にも素人なので、よく解かりませんでした。。もう少し、具体的にご教示頂けないでしょうか?宜しくお願い致します。

すると、全ての回答が全文表示されます。
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> そのクレーム内容を複数名にて情報共有したいと思っています。 メールで共有ではなく、データベースそのものを共有ということは 環境的?にムリなんですか? > メール送信(OUTLOOK又はOE)したい。 Outlook なら、オートメーション機能を使うことになると思いますが、Office2000 SP3以降?だと、 セキュリティ関係で、メールの送信確認メッセージが表示されるみたいです。 [ACC2002] オートメーションを使用して Access から Outlook を介して メッセージを送信する方法 http://support.microsoft.com/default.aspx?scid=kb;ja;161088 > チェックボックスを利用して、チェックを入れたアドレス(又は人名)に対して > メール送信を行いたいと思います。 メール送信部分以外は、Accessの一般機能でできますよね。 帳票形式のフォームで、チェックボックスを使い、送信したい人を選択すれば いいです。

mashy_ok
質問者

お礼

ご回答ありがとうございます。 BDの共有ですが、異なる場所での共有が必要なので、メールで連絡(共有)したいと思っています。(WANの環境が無いので。。。) ご紹介頂いた、オートメーションでの送信をトライしてみます。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

では問題を分解してみましょ~。 1.メールアドレス一覧を取得:Recordsetで一発。 2.チェックボックスを複数個用意:Accessはコントロールの動的ロードが出来たかどうかは覚えてないが、数が固定で良いなら必要なだけチェックボックスを置いておいてあげよう。 3.メール送信:これはどんなライブラリを使うかによる。BASP21やMAPI、使い方はそれぞれの説明を参照して欲しい。 そんなに難しい事では無さそうやね。 気になるのはクレーム内容(レポート)というところだが、これはAccessのReportをメールで送りたいという事だろうか? そうなら一度PDFなどに変換してから添付するなどの措置が必要になる。

mashy_ok
質問者

お礼

早速のアドバイス、ありがとうございます。 ご教示頂いた内容を調べて、トライしてみます。 「レポート」については、「Report」そのものでなくても、その内容を送信したいと思っています。目的は、クレームの内容を、関係先にメールで伝えることなので。。 いずれにしても、もう少し頑張ってみます。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A