電子メールと受信者名を取得してテーブルを繰り返し処理する大量メールマクロをまとめようとしています。ブランディング目的のために、署名付きのメールを送信したいと思います。Access-Outlookマクロを使用した電子メールの自動署名
私はMailItemオブジェクトを使用しようとしているが、私は2つの問題に実行しておいてください。
.displayが新しいOutlookの電子メールを作成し、デフォルトの署名を移入します。ただし、.bodyはstrMessageのテキスト文字列で署名を消去します。私は同じ電子メールオブジェクトにテーブル(画像などを含む)と文字列の両方を持つことができないので、私はそれを推測していますか?
私はMicrosoft Outlook 15と16 Object Libraryの両方で.sendと.bodyメソッドを試しました。両方とも16で動作しますが、どちらも15に存在しないようです。私はいつも「アプリケーション定義またはオブジェクト定義のエラー」を与えられています。私はOutlook 15ライブラリに関するドキュメントを見つけることができません。どのようなメソッド15が.sendと.bodyに相当するのか知っていますか?
Dim OApp As Object, OMail As Object, signature As String Set OApp = CreateObject("Outlook.Application") Set OMail = OApp.CreateItem(0) Dim rs As DAO.Recordset Dim db As Database Dim strSQL As String, strFirstName As String, strLastName As String, strFullName As String, strSubject As String, strMessage As String Set db = CurrentDb strSQL = "SELECT Email, FirstName, LastName FROM PersonsT WHERE [PersonsT]![Attended]=True" Set rs = db.OpenRecordset(strSQL) Do While Not rs.EOF strFirstName = rs.Fields("FirstName") strLastName = rs.Fields("LastName") strFullName = rs.Fields("FirstName") & " " & rs.Fields("LastName") strSubject = "Greetings" strMessage = "Hello " & strFullName & vbNewLine & vbCrLf & " Let me be the first to congratulate you on registering in this program" With OMail .Display End With With OMail .to = rs![Email] .Subject = strSubject .body = strMessage .send End With rs.MoveNext Loop Set OMail = Nothing Set OApp = Nothing rs.Close Set rs = Nothing
'.body = strMessage&のvbCrLf&Outlookの中から選択するために、複数の署名ファイルがある場合は、' oWordApp.EmailOptions.EmailSignature.NewMessageSignature = '変更するために使用する、Wordのアプリケーションを作成し、 –
を.body'試してみてくださいオリジナルのものを復元することができます。送信するOutlook Appが、テーブルなどにイメージやコンテンツを持つことができるhtmlシグネチャを使用する前にこれを行います。 – PatricK
@TimWilliams私は.bodyを分離しようとしましたが、アプリケーション定義またはオブジェクト定義のエラーも発生しています。 – enmasse