我有下面的電子郵件腳本。如何包含一個調用,以便爲每條記錄插入活動日期(發送日期郵件)以及字段[EmailAddress],[Due Date]到審計表(tblauditlist)中?審覈郵件發送
Private Sub Command0_Click()
Dim olApp As Outlook.Application
Dim olNs As Outlook.NameSpace
Dim olMailItem As Outlook.MailItem
Dim rsEmails As DAO.Recordset
Const sBODY As String = "Test Email - Delete Me"
Const sSUBJ As String = "Mailing List Test"
Const sSQL As String = "SELECT [EmailAddress],[Due Date] &"" ""&[EvalFor] As Subjj FROM tblMailingList;"
Set olApp = Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set rsEmails = CurrentDb.OpenRecordset(sSQL)
'Create them, but don't send yet
Do Until rsEmails.EOF
Set olMailItem = olApp.CreateItem(0)
With olMailItem
.To = rsEmails.Fields("EmailAddress").Value
.Subject = rsEmails.Fields("Subjj").Value
.Body = sBODY
.Save
End With
rsEmails.MoveNext
olMailItem.Send
Loop
End Sub
從芭菲上述建議很有效但是我的審計表只追加的第一個記錄。我嘗試移動的東西無濟於事。這裏是我的一個縮寫版本:設置rsEmails = db.OpenRecordset(「LateMe」) 直到rsEmails.EOF {電子郵件代碼} 'APPEND QUERY db.Execute「INSERT INTO AuditList([DateEmailSent],[電子郵件],[Namee]) 「_ 和」 VALUES(#」&日期和 「#「,」 &rsEmails!電子郵件& 「 ''」 &rsEmails![Namee] & "');「 olMailItem.Send 結束隨着 rsEmails.MoveNext 環 –
見我的編輯。只需移動'rsEmails.MoveNext'在電子郵件後循環的結束,追加查詢。這裏的確注意到你的代碼使用的是不同的記錄。要確保字段可用在'LateMe'表或查詢中。 – Parfait