簡體   English   中英

訪問 VBA 代碼:使用 Outlook 單獨保存和電子郵件輸出

[英]Access VBA code: Save and Email output individually using outlook

一直在嘗試構建一個 VBA 代碼,自動保存並將輸出發送到每個 Email_ID。 剛開始在access中學習vba代碼。

我在 DoCmd.SendObject 部分遇到錯誤,“在此集合中找不到項目”。

如果有人能幫我解決這個錯誤,我將不勝感激。

Private Sub Command_PDF_Click()

    Dim myrs As Recordset
    Dim myPDF, myStmt As String
    Dim oApp As New Outlook.Application, oEmail As Outlook.MailItem

    myStmt = "Select distinct Code1 from Query_Certificate_Eng"
    Set myrs = CurrentDb.OpenRecordset(myStmt)

    Do Until myrs.EOF

        myPDF = "C:\Users\93167\Desktop\Output Certificate\" & Format(myrs.Fields("Code1"), "0000000000000") & ".pdf"

        DoCmd.OpenReport "Certificate_Eng", acViewPreview, , "Code1 = '" & myrs!Code1 & "'"

        DoCmd.OutputTo objectType:=acOutputReport, objectName:="Certificate_Eng", outputformat:=acFormatPDF, outputfile:=myPDF, outputquality:=acExportQualityPrint
        
        DoCmd.SendObject objectType:=acSendReport, objectName:="Certificate_Eng", outputformat:=acFormatPDF, To:=myrs.Fields("Email_ID"), Subject:="Test", MessageText:="Test Message"
        
               
        DoCmd.Close
        myrs.MoveNext

    Loop

myrs.Close
Set myrs = Nothing
End Sub
myStmt = "Select distinct Code1 from Query_Certificate_Eng"
Set myrs = CurrentDb.OpenRecordset(myStmt)
...
..., To:=myrs.Fields("Email_ID")

這是行不通的。 您的記錄集僅包含字段Code1 ,因此Email_ID將“在此集合中找不到”。

您必須在 SELECT 子句中使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM