【问题标题】:Automatic emails with report as attachment in Access 2016Access 2016 中带有报告作为附件的自动电子邮件
【发布时间】:2020-06-12 05:00:54
【问题描述】:

我想向他们的 emailID 将存储在查询字段中的人发送自动电子邮件,并将我的报告(对所有人都一样)作为附件。

  1. 我有查询,在编译过程中显示错误消息“在查询表达式中。

    错误 3075

  2. 我需要在每封电子邮件中附上我的报告,但每次从本地文件发送后,我都找不到删除的方法(我已经删除了与此相关的代码,因此您可以添加一个新的)
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

【问题讨论】:

  • SELECT Issue,[Responsible Person] FROM qryeMailOverdueTasks
  • “我已经删除了与此相关的代码,所以你可以添加一个新的” - 最好包含给你带来问题的代码,并解释确切的问题是什么。跨度>
  • 您好,感谢您的回复,我是这个网站的新手,我不知道如何回复新代码,因此我用失败的附件代码部分更新了现有代码。我得到的错误是 - “错误 5,无效的过程调用或参数”
  • 您的问题叙述仍然说问题代码已被删除。哪一行触发错误?代码尝试将名为“desktop”的 pdf 保存到 db 所在的文件夹。然后代码尝试附加一个名为“tasks.pdf”的文件,但该文件不存在,也没有指定 pdf 所在的文件路径。
  • 哦,现在我发现我做错了,谢谢你解释它实际上在做什么,我重命名了它们,现在它正在工作。再次感谢你。

标签: vba ms-access outlook


【解决方案1】:

代码尝试将名为“desktop”的 pdf 保存到 db 所在的文件夹。然后代码尝试附加一个名为“tasks.pdf”的文件,但该文件不存在,也没有指定 pdf 所在的文件路径。

指定文件路径和名称以保存和检索的正确代码。

【讨论】:

    猜你喜欢
    • 2016-02-28
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多