• 締切済み

ACCESSから、メール送信を行いたいです

ACCESS(2007)から、新規にデータが登録された際に、そのタイトルと 本文の内容を含めた、メールを送信したいです。 BASP21を組み込み、それ自体メールを送信することはできたのですが、 登録フォームの内容と、送信内容をどう組み合わせればいいのか、わかりません。 記述方法など教えていただけないでしょうか

みんなの回答

  • HCBR
  • ベストアンサー率75% (6/8)
回答No.2

BASP21を使ってということが前提でしたら的外れになりますが、BitMailPROと言うソフトを使えばAccessに登録された項目を件名や本文に差し込んでメール送信できます。 試してみてはいかがでしょうか。

参考URL:
http://www.newsbit.co.jp/software/bmp/index.html
  • psgrade
  • ベストアンサー率86% (19/22)
回答No.1

例えば下記のようなVBAを登録したコマンドボタンを作成した、メール編集用のフォームを作ります。 この例では、フォームの中に送信相手のアドレスを複数選択可能なリストボックス(送信先:MailAdress1、CC:MailAdress2)として作成します。件名、内容のテキストボックスを配置し、この中に新規データの内容を代入するようにします。付記事項等追加し、SendMailコマンドボタンをクリックすると指定した送信先に送信されます。コマンドボックスのクリック時イベントプリシージャーは下記のとおりです。参照設定で、Microsoft Outlook 11.0 Object Libraryを参照する必要があります。これでアクセスから直接メール送信できます。 Private Sub SendMail_Click() On Error GoTo Err_SendMail_Click Dim appOutlook As Outlook.Application Dim objMailItem As Outlook.MailItem Dim i As Variant, MailAddressTo As String, MailAddresscc As String If IsNull(Me.内容) Then MsgBox "メール本文が入力されていません!", vbExclamation + vbOKOnly, "確認" Exit Sub End If Set appOutlook = CreateObject("Outlook.Application") If appOutlook Is Nothing Then MsgBox "Outlook 11.0 is not installed on your PC." Exit Sub End If Set objMailItem = appOutlook.CreateItem(olMailItem) MailAddressTo = "" For Each i In Me![MailAddress1].ItemsSelected If MailAddressTo <> "" Then MailAddressTo = MailAddressTo & ";" MailAddressTo = MailAddressTo & Me![MailAddress1].ItemData(i) Next i MailAddresscc = "" For Each i In Me![MailAddress2].ItemsSelected If MailAddresscc <> "" Then MailAddresscc = MailAddresscc & ";" MailAddresscc = MailAddresscc & Me![MailAddress2].ItemData(i) Next i With objMailItem .To = MailAddressTo .CC = MailAddresscc .Subject = Me.件名 .Body = Me.内容 .Display .Send End With appOutlook.Quit Set objMailItem = Nothing Set appOutlook = Nothing Exit_SendMail_Click: Exit Sub Err_SendMail_Click: MsgBox Err.Description Resume Exit_SendMail_Click End Sub

関連するQ&A

  • アクセスのフォームからメール送信

    現在、ある依頼の申込をフォームで入力してもらっているのですが、申込者に申込受領のメールを送信したいと思っています。 その際、メールの本文にはフォームで入力してもらった項目をいくつか使用したいのです。 例えば、入力フォームの「申込日」「名前」「内容」をそのままメールの本文に、さらに送り先はこちらで用意した一覧から選択する、また依頼を受領した担当者もこちらで用意した一覧から選択し、それがメールの本文に記載されるのが理想です。 メールタイトルは固定です。 どのようなVBAを書けばいいのでしょうか?

  • (アクセス)フォームからのメール送信について

    アクセス2003 アウトルック2010 Windows XP(とVISTA) 1. フォームで、メール送信対象者を指定します。 (別のテーブルから名前とアドレスを呼び出し) 2. 同じフォームで、どのようなメールを送るのか選択します。 3. メール送信ボタンをクリックしたら、 1で選択した対象者に、 2で選択したメールを送るにはどうしたらよいでしょうか。 なお、メール本文には、○○様へ や、 ○月○日のご予約を承りました。 のように差し込みをしたいです。 わからない点: アクセスからメールを送信する手順は調べたのですが、 本文はその都度入力・または既定文章が1種類での方法です。メール本文のパターンが複数ある場合の指定方法がわかりません。

  • ASPでメールの送信について

    いつもお世話になっています。 クラシックなASPを使用しています。 現状、WEBフォームに登録された内容をそのまま利用者に対しメールを 送信しています。(basp21を利用) それを今度から、メールの内容に、URLを記載したカタチで送信したいと考えています。 そこで、それを実現するためには、WEBフォーム→DB登録→メール送信という流れのなかで、DBのidを取得しなければ、なりません。 現在はDBにupdateした後にreqestしたwebフォームの内容を送信しているので、idは取得できません。 どうしたらidを取得し、メールを送信できるようになるものでしょうか。皆さんのお知恵をお貸しください。よろしくお願いします。

  • Access2003からシンプルにファイルを添付してメール送信したいと

    Access2003からシンプルにファイルを添付してメール送信したいと考えています。 こちら(http://www.site-cooler.com/kwl/asp/19.htm)を参考に、BASP21というコンポーネントを利用してACCESS上のフォームにボタンを用意してコードビルダで下記のように記述してみましたが、「コンパイルエラー:構文エラー」と表示されました。 どのように改善すれば良いのでしょうか。 ACCESS初心者の為、すみませんがご教示お願いします。 --------------------------------------------------------------------------- Private Sub コマンド0_Click() Set bobj = Server.CreateObject("basp21") bobj.SendMail() <%@ LANGUAGE = VBSCRIPT %> <% Dim strServer 'SMTPサーバ Dim strTo '宛先 Dim strFrom '送信元 Dim strSub 'メール標題 Dim strBody 'メール本文 Dim strFile '添付ファイル Dim result '戻り値 strServer = "smtp.xxxx.co.jp" strTo = "xxxx@xxxx.co.jp" strFrom = "xxxx@xxxx.co.jp" strSub = "件名" strBody = "本文です。" & vbCrLf & "本文終了" strFile = "c:\text.txt" Set bobj = Server.CreateObject("basp21") result = bobj.SendMail(strServer, strTo, strFrom, strSub, strBody, strFile) If result <> "" Then Response.Write ("メール送信エラー :" & result) Response.End End If Response.Write ("メール送信完了") %> If result <> "" Then Response.Write ("メール送信エラー :" & result) Response.End End If End Sub ---------------------------------------------------------------------------

  • BASP21をつかってアクセスからメールを送信

    BASP21をつかってアクセスからメールを送信したいと思っています。 固定のメールアドレスの場合はうまくいくのですが、 フォームの値(メールアドレス)を代入しようとすると、invariant のエラーがでてしまいます。 (固定メールアドレスの記載)  Dim MailTo As String    '宛先  MailTo = "xxx@xx.ne.jp" (フォームの値の記載)  Dim MailTo As String  '宛先  MailTo = "<" & Forms![F_業務管理簿_詳細]![紹介者・担当者_メール1] & ">" フォームの値(メールアドレス)に送信できるようにするにはどのようにすればよいのかご教示くだいさい。 よろしくお願い致します。

  • メールの文字化けについて

    現在ACCESS2000(WIN98)で BASP21を利用してメールを受信して メールの内容を解析してデータベース化しているのですが、 メール本文が部分的に文字化けしてしまうことがあります。 BASP21に漢字コードを変換する命令があったのですが どのコードもうまく変換されませんでした。 ちなみにそのメール本文を新しいメールに貼り付けて 自分宛に送信して解析したら文字化けが起こりませんでした。 このように部分的に文字化けする原因はどのようなことが考えられるのですか。 またこの文字化けを直す方法を教えてください。 宜しくお願いしますm(_ _)m

  • Accessからのソケット通信について

    Access2010(VBA)+BASP21を利用して 別のアプリに対してテキストデータをソケット通信で受け渡す際の 文字コードについて教えて下さい。 まず、受け取る側のアプリはUTF-8でないと 受け取れない仕様となっております。 Accessから送信する際は、あらかじめUTF-8で保存された テキストファイルを変数に読み込み、それをBASP21から送信しているのですが どうやら、送信する時に文字コードが変わっている?のか ただしくデータを受け取ってくれません。 (アプリの受信ログを見ると、受け取ったデータが 一部文字化けしておりました) Accessからデータを送信する際に、確実にUTF-8にて データを送信したいのですが、どのような方法があるでしょうか。 ご存じの方、教えて下さい。宜しくお願い致します。

  • ACCESSを使ってメール送信

    ACCESSで顧客情報を管理しているのですが、顧客全員に同じ内容のメールを送信したいと考えています。 ACCESSを使ってメールを送信する方法を教えてください。 なにかサンプルがあるとうれしいです。 ちなみに環境はWIN98、MS-ACCESS2000です。

  • ACCESS2000からのメール送信について

    WINDOWS XP と OUTLOOK からのメール送信は、sendObject で メール送信可能ですが、Windows 7 と Windows Live Maile での組み合わせでは、ACCESS が エラー無しで終了してしまいます。いろいろ調べると事例が有るらしくて BASP21 を使用するようにアドバイスが多いみたいですが、まだ XP と OUTLOOK 機が多いので 今までのプログラムで行きたいのですが、解決方法を教えてください。 よろしくお願いします。 

  • Accessでメール自動送信について

    ACCESSでレコードが追加された時に自動でそのレコードの内容をメールで送りたいのですがBASP21を使用してある程度までは出来ているのですが レコードが追加されたときのイベントの感知方法がわからず困っております. やはりACCESS単体では難しく外部プログラムを作成する 必要があるのでしょうか。

専門家に質問してみよう