我正在嘗試放置一個大容量電子郵件宏,它將遍歷表,拉取電子郵件和收件人姓名。爲了品牌的目的,我想發送每個電子郵件簽名。帶有Access-Outlook宏的電子郵件中的自動簽名
我試圖使用的MailItem對象,但我一直運行到2個問題:
。顯示創建一個新的Outlook電子郵件和默認的簽名進行填充。但是,.body將用strMessage中的文本字符串擦除簽名。我在猜測它是因爲我無法在同一個電子郵件對象中同時使用表格(包括圖片等)和字符串?
我試過Microsoft Outlook 15和16對象庫中的.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
嘗試'。體= strMessage&vbCrLf&.body' –
如果您的Outlook有多個簽名文件可以選擇,創建的Word應用程序,使用'oWordApp.EmailOptions.EmailSignature.NewMessageSignature ='改變簽名和/或恢復原始簽名。在Outlook應用程序發送之前執行此操作將使用可以在表格中顯示圖像和內容的html簽名。 –
PatricK
@TimWilliams沒有運氣。我試着隔離.body,它也產生了一個應用程序定義或對象定義的錯誤。 – enmasse