• 締切済み

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