我知道Access可以设置为Outlook任务为自动导出查询到Excel,但它需要Outlook来始终在用户的计算机上打开。如何安排自动导出MS Access查询到Excel和电子邮件吗?
有一种简单的方法来设置,可以查询自动导出到Excel的时间表,这时间表将随后自动电子邮件导出Excel文件,使得每星期一的电子邮件地址早上5点,例如?
如果只能在VBA来完成,任何参考我可以下手?
谢谢。
我知道Access可以设置为Outlook任务为自动导出查询到Excel,但它需要Outlook来始终在用户的计算机上打开。如何安排自动导出MS Access查询到Excel和电子邮件吗?
有一种简单的方法来设置,可以查询自动导出到Excel的时间表,这时间表将随后自动电子邮件导出Excel文件,使得每星期一的电子邮件地址早上5点,例如?
如果只能在VBA来完成,任何参考我可以下手?
谢谢。
我不认为你可以访问做到这一点。您可以使用这样的工具:
http://www.hybing.com/Report-Genie.html
他们能够从数据库中,将其导出到Excel并通过电子邮件发送获取数据。报告精灵是便宜的,虽然它是很旧的软件,我不知道它是否有任何支持。我不认为有办法安排任务。 R-Tag已付费和免费版本。这两个版本将允许您安排从任何数据库导出数据到Excel和电子邮件发送文件的任务。免费版本有一些限制。
我不知道怎么安排,但是这可能会给你一个良好的开端:
If Weekday(Now(), 2) = 1 Then
If Forms![Head Form]![Once subform].Form![ID] = 0 Then
DoCmd.OpenQuery "UpdateOnce1", acViewNormal, acEdit
DoCmd.SetWarnings False
DoCmd.OpenReport "Report1", acViewPreview
DoCmd.RunSavedImportExport "Export-Report 1"
Dim strSql
Dim db As Database
Set db = CurrentDb()
Dim Outlook
Dim rng
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = "number of mail adresses"
.CC = ""
.BCC = ""
.Subject = "Report 1"
.HTMLBody = ""
.Attachments.Add ("T:\.....\Report1.pdf")
.Send
End With
DoCmd.Close acReport, "Report1"
End If
End If
所以,如果它是星期一,并且代码尚未运行(它会检查ID等于0),报告1是openend,导出为PDF,作为附件添加,然后通过outlook邮寄。