アクセス小僧:住所録からメーラー起動 [コンピューター]
アクセスで作成した住所録データベースから、
メーラーを起動するマクロを作りました。といっても、SugiBlogさんにあったコードをほとんど丸のまま、パクってきただけですが。。すみません。
http://www.k-sugi.sakura.ne.jp/windows/vb/3679/
【目的】
アクセスで作成した住所録データベースにあるE-mailアドレス、氏名を使って、メーラー(Outlook)のメール作成ウィンドウを開く。そのとき、E-mailアドレス、氏名は次のように処理する。
・E-mailアドレス:メールの送信先アドレス(To:, Cc:)に挿入する
・氏名:”さま”をつけて、本文に挿入する
住所録データベースのフォーム画面を示します。E-mailアドレスを複数登録するときは、セミコロン(;)で区切ります。
ここで、メール送信ボタンをクリックしたら、メーラーを起動します。起動後のメーラー画面を以下に示します。
マクロのコードを以下に示します。オリジナルのコードで使用しない部分はコメント化しています。
Private Sub メール送信_Click()
'【機能】メール送信
'【変数】
Dim oApp As Object ' Outlookのオブジェクト
Dim objMAIL As Object ' メールのオブジェクト
Dim strMOJI As String ' 本文
Dim strSign As String ' 署名
Dim myNameSpace As Object
Dim myFolder As Object
'【実行コード】
' オートメーションでOutlookを起動
Set oApp = CreateObject("Outlook.Application")
' Outlook本体の画面も起動
' Set myNameSpace = oApp.GetNamespace("MAPI")
'規定のフォルダーを指定
' Set myFolder = myNameSpace.GetDefaultFolder(6)
' myFolder.Display '表示
Set objMAIL = oApp.CreateItem(0)
objMAIL.Display '編集画面を表示
If Not (IsNull(Me![E-mail])) Then
objMAIL.To = Me![E-mail] ' 送信先アドレス(To:)、複数の宛先を;(セミコロン)で区切ることもできる
End If
If Not (IsNull(Me![E-mail2])) Then
objMAIL.Cc = Me![E-mail2] ' 送信先アドレス(Cc:)
End If
' objMAIL.Bcc = Me![E-mail] ' 送信先アドレス(Bcc:)
objMAIL.Subject = "こんにちわ" ' 件名
strSign = objMAIL.Body ' 署名を取得
' 本文
If Not (IsNull(Me![氏名1])) Then
strMOJI = [氏名1] & "さま、" & vbCrLf
Else
strMOJI = "○○さま、" & vbCrLf
End If
objMAIL.Body = strMOJI & vbCrLf & strSign
' objMAIL.Attachments.Add "[ファイルのフルパス]" ' 添付ファイル
objMAIL.Display ' 作成画面の状態で表示
' objMAIL.Save ' 下書きへ保存
' objMAIL.Close 2 ' 作成画面を閉じる
' objMAIL.Send ' 送信
' オブジェクトの解放
Set objMAIL = Nothing
Set myFolder = Nothing
Set oApp = Nothing
' 送信先メールアドレスだけ指定して、メーラー起動の場合は、次の1行でOK
' Application.FollowHyperlink "mailto:" & Me![E-mail]
End Sub
※E-mailアドレスが空白(null)の時は、アドレスを挿入しないように変更しました。(2017/8/28)
メーラーを起動するマクロを作りました。といっても、SugiBlogさんにあったコードをほとんど丸のまま、パクってきただけですが。。すみません。
http://www.k-sugi.sakura.ne.jp/windows/vb/3679/
【目的】
アクセスで作成した住所録データベースにあるE-mailアドレス、氏名を使って、メーラー(Outlook)のメール作成ウィンドウを開く。そのとき、E-mailアドレス、氏名は次のように処理する。
・E-mailアドレス:メールの送信先アドレス(To:, Cc:)に挿入する
・氏名:”さま”をつけて、本文に挿入する
住所録データベースのフォーム画面を示します。E-mailアドレスを複数登録するときは、セミコロン(;)で区切ります。
ここで、メール送信ボタンをクリックしたら、メーラーを起動します。起動後のメーラー画面を以下に示します。
マクロのコードを以下に示します。オリジナルのコードで使用しない部分はコメント化しています。
Private Sub メール送信_Click()
'【機能】メール送信
'【変数】
Dim oApp As Object ' Outlookのオブジェクト
Dim objMAIL As Object ' メールのオブジェクト
Dim strMOJI As String ' 本文
Dim strSign As String ' 署名
Dim myNameSpace As Object
Dim myFolder As Object
'【実行コード】
' オートメーションでOutlookを起動
Set oApp = CreateObject("Outlook.Application")
' Outlook本体の画面も起動
' Set myNameSpace = oApp.GetNamespace("MAPI")
'規定のフォルダーを指定
' Set myFolder = myNameSpace.GetDefaultFolder(6)
' myFolder.Display '表示
Set objMAIL = oApp.CreateItem(0)
objMAIL.Display '編集画面を表示
If Not (IsNull(Me![E-mail])) Then
objMAIL.To = Me![E-mail] ' 送信先アドレス(To:)、複数の宛先を;(セミコロン)で区切ることもできる
End If
If Not (IsNull(Me![E-mail2])) Then
objMAIL.Cc = Me![E-mail2] ' 送信先アドレス(Cc:)
End If
' objMAIL.Bcc = Me![E-mail] ' 送信先アドレス(Bcc:)
objMAIL.Subject = "こんにちわ" ' 件名
strSign = objMAIL.Body ' 署名を取得
' 本文
If Not (IsNull(Me![氏名1])) Then
strMOJI = [氏名1] & "さま、" & vbCrLf
Else
strMOJI = "○○さま、" & vbCrLf
End If
objMAIL.Body = strMOJI & vbCrLf & strSign
' objMAIL.Attachments.Add "[ファイルのフルパス]" ' 添付ファイル
objMAIL.Display ' 作成画面の状態で表示
' objMAIL.Save ' 下書きへ保存
' objMAIL.Close 2 ' 作成画面を閉じる
' objMAIL.Send ' 送信
' オブジェクトの解放
Set objMAIL = Nothing
Set myFolder = Nothing
Set oApp = Nothing
' 送信先メールアドレスだけ指定して、メーラー起動の場合は、次の1行でOK
' Application.FollowHyperlink "mailto:" & Me![E-mail]
End Sub
※E-mailアドレスが空白(null)の時は、アドレスを挿入しないように変更しました。(2017/8/28)
ヤバイぜ! ありがとうございます[__猫]
by cheese999 (2017-08-24 22:47)