【发布时间】:2019-07-08 17:59:05
【问题描述】:
我正在尝试向单独的员工发送其部分/报告的 PDF/页面。该信息基于他们的 EmployeeID(不是长数字的文本)。所以每个人在一个页面上都有他们的余额信息,然后有一个分页符,然后下一页显示下一个人的详细信息。使用下面的代码,它会向每个员工发送一个页面,但碰巧只将第一个人的页面发送给每个人。是否有可能每周以某种方式自动化,以便通过电子邮件向每个用户发送他/她单独的报告页面?
另一个错误是电子邮件一个接一个弹出,所以我必须为超过 200 人每次按发送,并且电子邮件似乎正在发送到电子邮件但随后是 #mailto:the email# 例如email@email.com#mailto:email@email.com#
我刚刚启动 Access,并且一直在从网上找到的地方复制和抓取代码。非常感谢您,如果您能提供帮助!
祝你有美好的一天!
Private Sub cmdSendAll_Click()
Dim rsAccountNumber As DAO.Recordset
Dim strTo As Variant
Dim strSubject As String
Dim strMessageText As String
Set rsAccountNumber = CurrentDb.OpenRecordset("SELECT DISTINCT EmployeeID, [Email] FROM [queAutoUpdate]", dbOpenSnapshot)
Debug.Print strTo
With rsAccountNumber
Do Until .EOF
DoCmd.OpenReport "test", _
acViewPreview, _
WhereCondition:="EmployeeID = '" & !EmployeeID & "'", _
WindowMode:=acHidden
strTo = ![Email]
strSubject = "Updated Balance "
strMessageText = "Text Here"
DoCmd.SendObject ObjectType:=acSendReport, _
ObjectName:="test", _
OutputFormat:=acFormatPDF, _
To:=strTo, _
Subject:=strSubject, _
MESSAGETEXT:=strMessageText, _
EditMessage:=True
DoCmd.Close acReport, "Unaffirmed Report", acSaveNo
.MoveNext
Loop
.Close
End With
End Sub
【问题讨论】: