【发布时间】:2017-12-20 23:10:02
【问题描述】:
我正在尝试使用我生成的表格和报告将 Access 数据库中的报告导出到多个电子邮件地址。下面是我用来完成此操作的代码。
Function EmailNotification()
On Error GoTo Err_EmailNotification
Dim olApp As Object
Dim olMail As Object
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(olMailItem)
Dim EmailList As String
Dim EmailList2 As String
Dim objOutlookRecip As Object
Dim objOutlookRecip2 As Object
Dim objOutlookAttach As Object
Const TERMINAL_QUERY = "SELECT EMail " & _
" FROM [EmailList] " & _
" ORDER BY Email;"
Dim dbs As DAO.Database
Dim rst1 As DAO.Recordset
DoCmd.OutputTo acOutputReport, "CarryIn_Email", "PDFFormat(*.pdf)", "Q:\2017\Big E Transportation\Accounting\Advanced Auto\Projects Summary Report.PDF", False, " , acExportQualityPrint"
Set dbs = CurrentDb()
Set rst1 = dbs.OpenRecordset(TERMINAL_QUERY)
With rst1
.MoveFirst
.MoveLast
.MoveFirst
rstX = rst1.RecordCount
If Not (.EOF And .BOF) Then
.MoveFirst
Do Until .EOF
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(olMailItem)
With olMail
Set objOutlookRecip = .Recipients.Add(rst1!Email)
objOutlookRecip.Type = olTo
.Subject = "Carry Ins"
SETOBJOUTLOOKATTACH = .Attachments.Add("Q:\2017\Big E Transportation\Accounting\Advanced Auto\Projects Summary Report.PDF")
.Send
End With
.MoveNext
Loop
End If
End With
Exit_EmailNotification:
Exit Function
Err_EmailNotification:
MsgBox Error$
Resume Exit_EmailNotification
End Function
我的问题是此代码不是导出带有 PDF 附件的电子邮件,而是导出带有电子邮件作为附件的电子邮件。
我希望此代码导出带有 PDF 附件的电子邮件,而不是带有电子邮件作为附件的电子邮件。
【问题讨论】:
-
我认为您需要将 SETOBJOUTLOOKATTACH 更改为 Set ObjOutlookAttach。
-
我更正了这个问题,但它仍然作为电子邮件附件。
-
为什么不
.Attachment.Add = "..."和.To = rst1!Email?您想将多封电子邮件分别发送到单个地址还是将一封电子邮件发送到多个地址?