dポイントプレゼントキャンペーン実施中!

ACCESS(2007)から、新規にデータが登録された際に、そのタイトルと
本文の内容を含めた、メールを送信したいです。

BASP21を組み込み、それ自体メールを送信することはできたのですが、
登録フォームの内容と、送信内容をどう組み合わせればいいのか、わかりません。
記述方法など教えていただけないでしょうか

A 回答 (2件)

例えば下記のような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
    • good
    • 0

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


試してみてはいかがでしょうか。

参考URL:http://www.newsbit.co.jp/software/bmp/index.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A