使用MS Access中的VBA代码生成器,我已经能够编写打开Outlook的代码,并通过单击按钮向我发送电子邮件。我在添加附件时遇到问题。我发现的大多数代码都将MS数据库外部的文件作为附件添加,我想添加在数据库中创建的报告作为附件。
Private Sub EmailReport_Click()
Dim oApp As New Outlook.Application
Dim oEmail As Outlook.MailItem
'Email the results of the report generated
Set oEmail = oApp.CreateItem(olMailItem)
oEmail.To = "[email protected]"
oEmail.Subject = "Training Roster"
oEmail.Body = "Roster Information"
With oEmail
.Send
MsgBox "Email Sent"
End With
我一直在寻找类似的命令
oEmail.Attachments.Add Me.
..但是,我找不到添加报告的正确组合。谢谢!!
如前所述,将您的报告导出到外部文件(例如.pdf)中,以便附加到您的外发电子邮件中。请记住,报告是内部Access对象,而不是电子邮件的文件格式。使用DoCmd.OutputTo,您可以动态地在带有日期戳记的日期和与数据库相同的位置动态创建pdf,从而为所有用户提供通用的解决方案。
Private Sub EmailReport_Click()
Dim oApp As New Outlook.Application
Dim oEmail As Outlook.MailItem
Dim fileName As string, todayDate As String
'Export report in same folder as db with date stamp
todayDate = Format(Date, "MMDDYYYY")
fileName = Application.CurrentProject.Path & "\ReportName_" & todayDate & ".pdf"
DoCmd.OutputTo acReport, "ReportName", acFormatPDF, fileName, False
'Email the results of the report generated
Set oEmail = oApp.CreateItem(olMailItem)
With oEmail
.Recipients.Add "[email protected]"
.Subject = "Training Roster"
.Body = "Roster Information"
.Attachments.Add fileName
.Send
End With
MsgBox "Email successfully sent!", vbInformation, "EMAIL STATUS"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句