Microsoft Access 掲示板

ACCESSからOutlookでメールを送信する際に署名を挿入したい

4 コメント
views
4 フォロー

お世話になります。

ACCESSからOutlookでメールを送信する際に署名を挿入したいのです。

メールを送信するコードは下記の通りです。

Private Sub コマンド29_Click()

Dim subject, mailBody, credit As String   '変数設定:To宛先、cc宛先、bcc宛先

Dim outlookObj As Outlook.Application    '変数設定:件名、メール本文、クレジット、添付

Dim mailItemObj As Outlook.MailItem     'Outlookで使用するオブジェクト生成








toaddress = Me![txt宛先] 'To宛先
ccaddress = Me![txtCC] 'cc宛先
subject = Me![txt件名] '件名
mailBody = Me![txt本文]



Set outlookObj = CreateObject("Outlook.Application")
mailItemObj.BodyFormat = olFormatPlain
mailItemObj.To = toaddress 'to宛先をセット

On Error Resume Next
mailItemObj.CC = ccaddress 'cc宛先をセット
On Error GoTo 0
'mailItemObj.BCC = bccaddress 'bcc宛先をセット
mailItemObj.subject = subject '件名をセット


mailItemObj.Body = mailBody & vbCrLf & vbCrLf & credit


Dim attached As String
Dim myattachments As Outlook.Attachments
'Outlookで使用するオブジェクト生成
Set myattachments = mailItemObj.Attachments
'attached = Range(“B9”).Value '添付ファイル


mailItemObj.Display 'メール表示

Set outlookObj = Nothing
Set mailItemObj = Nothing

DoCmd.Close acForm, "F_メール送信", acSaveNo

このコードに署名を挿入したいのです。

下記のコードを参考にしてみたのですが、上手く作動しないのです。

Function 署名(ByVal 署名ファイル As String) As String

Dim FSO As Object
Set FSO = CreateObject(“Scripting.FileSystemObject”)

Dim WSH As Object
Set WSH = CreateObject(“Wscript.Shell”)

Dim 署名フォルダ As String
署名フォルダ = WSH.SpecialFolders(“AppData”) & “\Microsoft\Signatures”

Dim ts As Object
Set ts = FSO.GetFile(署名フォルダ & “\” & 署名ファイル).OpenAsTextStream(1, -2)

署名 = ts.readall
ts.Close

Set WSH = Nothing
Set FSO = Nothing
Set ts = Nothing

End Function

どこを修正するのか、お手数ですが、ご教示をお願いします。

えいじ
作成: 2023/02/01 (水) 19:12:19
通報 ...
1

挿入したい「署名」はOutLookの下記のページの機能で自動挿入される署名のことでしょうか。

署名を作成してメッセージに追加する - Microsoft サポート

参考にしたコードが理解できず応用できないなら、単純に mailBody変数の最後に署名の文字列を追加するのではだめですか。

mailBody = Me![txt本文]

mailBody = mailBody & vbCrLf & vbCrLf & _
           "------------------------" & vbCrLf & _
           "〇〇 〇〇" & vbCrLf & _
           "Mail: myname@sample.com" & vbCrLf & _
           "------------------------" 
2
えいじ 2023/02/05 (日) 23:29:47

hatena様

回答ありがとうございます。

hatena様の方法ですと、署名が文字化けするのです。

それも、文字化けするときと、しないときがあります。
Outlookの設定で、文字化けしないようにしたのですが、文字化けします。

なので、Outlookの署名が保存されている場所から、直接、参照しようかなと思いました。

3

具体的にどのようなコードを作成したのか提示してもらえますか。
当方で動作確認した限りでは文字化けはしませんでした。

自動挿入される署名を使いたいなら、下記の方法が簡単だと思います。

024 Outlook VBA 署名を使う | くのへスタジオ

4
えいじ 2023/02/06 (月) 22:48:55

hatena様と同じコードです。
Outlookには、正常に表示されますが、送信後に、文字化けするときと、しないときがありました。
Outlookの設定の問題だと思いましたが、ご指摘のサイトを参考にして、文字化けは、解消しました。
ありがとうございました。