Vba Access 2016中报告作为附件的自动电子邮件
我想自动发送电子邮件给那些电子邮件ID将存储在查询字段中的人,并将我的报告(每个人都一样)作为附件Vba Access 2016中报告作为附件的自动电子邮件,vba,ms-access,outlook,Vba,Ms Access,Outlook,我想自动发送电子邮件给那些电子邮件ID将存储在查询字段中的人,并将我的报告(每个人都一样)作为附件 我有一个查询,在编译过程中,它在查询表达式中显示“错误消息”。 错误3075 我需要在每封电子邮件中附上我的报告,但我无法在从本地文件发送后每次都删除报告(我已删除了与此相关的代码,因此您可以添加一个新代码) 代码尝试将名为“desktop”的pdf保存到数据库所在的文件夹中。然后,代码尝试附加名为“tasks.pdf”的文件,但该文件不存在,也未指定pdf所在的文件路径 请更正代码以指定要保存
代码尝试将名为“desktop”的pdf保存到数据库所在的文件夹中。然后,代码尝试附加名为“tasks.pdf”的文件,但该文件不存在,也未指定pdf所在的文件路径
请更正代码以指定要保存和检索的文件路径和名称。
从qryeMailOverdueTasks中选择问题,[负责人]
“我已删除了与此相关的代码,因此您可以添加新代码“-最好包括给您带来问题的代码,并解释确切的问题是什么。您好,谢谢您的回复,我是这个网站的新手&我不知道如何用新代码回复,因此我用失败的附件代码部分更新了现有代码。我得到的错误是——“错误5,无效的过程调用或参数”,您的问题陈述仍然说问题代码已删除。哪一行触发错误?代码尝试将名为“desktop”的pdf保存到db所在的文件夹中。然后代码尝试附加一个名为“tasks.pdf”的文件,但该文件不存在,也没有指定pdf所在的文件路径。哦,现在我找到了我做错的地方,谢谢你解释它实际上在做什么,我重命名了它们&现在它正在工作。再次感谢你。
Option Compare Database
Option Explicit
Public Sub sendserialemail()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim emailto As String
Dim emailcc As String
Dim emailsubject As String
Dim emailtext As String
Dim outapp As Outlook.Application
Dim outmail As Outlook.MailItem
Dim outstarted As Boolean
Dim rpt As Report
Dim pdfmail As String
On Error Resume Next
Set outapp = GetObject(, "outlook.application")
On Error GoTo 0
If outapp Is Nothing Then
Set outapp = CreateObject("outlook.application")
outstarted = True
End If
Set db = CurrentDb
Set rs = db.OpenRecordset("qryeMailOverdueTasks")
DoCmd.OutputTo acOutputReport, "tasks", acFormatPDF, "desktop"
Do Until rs.EOF
emailto = rs.Fields("responsible person").Value
emailcc = "ravikumar.ramadas@plansee.com"
emailsubject = "Pending tasks to complete the issue regarding" & " " & rs.Fields("issue").Value
emailtext = "Hello" & vbCrLf & "Kindly complete the task which is in the attached file to complete the cutomer isue regarding" & " " & rs.Fields("issue").Value
pdfmail = "tasks.pdf"
Set outmail = outapp.CreateItem(olMailItem)
outmail.To = emailto
outmail.CC = emailcc
outmail.Subject = emailsubject
outmail.Body = emailtext
outmail.Attachments = pdfmail
outmail.Send
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
If outstarted Then
outapp.Quit
End If
Set outmail = Nothing
Set outapp = Nothing
End Sub