Vba Access 2016中报告作为附件的自动电子邮件

Vba Access 2016中报告作为附件的自动电子邮件,vba,ms-access,outlook,Vba,Ms Access,Outlook,我想自动发送电子邮件给那些电子邮件ID将存储在查询字段中的人,并将我的报告(每个人都一样)作为附件 我有一个查询,在编译过程中,它在查询表达式中显示“错误消息”。 错误3075 我需要在每封电子邮件中附上我的报告,但我无法在从本地文件发送后每次都删除报告(我已删除了与此相关的代码,因此您可以添加一个新代码) 代码尝试将名为“desktop”的pdf保存到数据库所在的文件夹中。然后,代码尝试附加名为“tasks.pdf”的文件,但该文件不存在,也未指定pdf所在的文件路径 请更正代码以指定要保存

我想自动发送电子邮件给那些电子邮件ID将存储在查询字段中的人,并将我的报告(每个人都一样)作为附件

  • 我有一个查询,在编译过程中,它在查询表达式中显示“错误消息”。 错误3075


  • 我需要在每封电子邮件中附上我的报告,但我无法在从本地文件发送后每次都删除报告(我已删除了与此相关的代码,因此您可以添加一个新代码

  • 代码尝试将名为“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