#464 | 既定のメールソフトで新規メールの本文にデータを出力する方法 | VBA | |
DoCmdオブジェクトのSendObjectメソッドを使うと、既定のメールソフトを使ってAccessオブジェクトを添付した新規メールを生成することができます(「#463 既定のメールソフトで新規メールにデータを添付する方法」を参照)。 しかしその際、SendObjectメソッドの第1〜3引数を省略すると、Accessオブジェクトは添付されず、ふつうの本文だけの新規メールを生成することもできます。 さらに、メール本文を指定する8番目の引数の文字列をあらかじめプログラムで組み立てておくことによって、テーブルなどから読み出したデータを所定のフォーマットに整形してメール本文とすることができます。 次のプログラム例では、「社員」テーブルの全レコードをループで読み込んで、そこに含まれる「社員コード」と「氏名」だけをメール本文に列挙しています。ここでは非常にシンプルな本文となっていますが、単に文字列の処理を行っているだけですので、VBAのプログラムを工夫することによってさまざまなメール本文を組み立てることができると思います。 Dim dbs As Database Dim rst As Recordset Dim strBody As String 'メール本文の文頭を組み立てます strBody = "社員のデータを送付します。" & vbCrLf & vbCrLf '社員テーブルの全レコードを読み込んでメール本文に追加します Set dbs = CurrentDb Set rst = dbs.OpenRecordset("社員") With rst Do Until .EOF strBody = strBody & !社員コード & vbTab & !氏名 & vbCrLf .MoveNext Loop .Close End With 'メールを生成します DoCmd.SendObject , , , _ "abcdefg01@****.com", , , "社員データ送付", strBody 実行結果: |
|||
|
Copyright © T'sWare All rights reserved |