使用Access VBA发送电子邮件
我正试图发送一封无法访问的电子邮件。电子邮件不会自动发送。我必须点击弹出的电子邮件发送 我的代码中是否缺少阻止电子邮件发送的内容使用Access VBA发送电子邮件,vba,email,ms-access,Vba,Email,Ms Access,我正试图发送一封无法访问的电子邮件。电子邮件不会自动发送。我必须点击弹出的电子邮件发送 我的代码中是否缺少阻止电子邮件发送的内容 Dim strTo As String Dim strMessage As String Dim strSubject As String strTo = "Hazat.Bangurah@umm.edu" strSubject = "New Lab Charge Codes" strMessage = "Attac
Dim strTo As String
Dim strMessage As String
Dim strSubject As String
strTo = "Hazat.Bangurah@umm.edu"
strSubject = "New Lab Charge Codes"
strMessage = "Attached are the New Lab Charge Codes"
DoCmd.SendObject acSendQuery, "std qry_Master to HPM Lab Standard Compare", acFormatXLSX, strTo, , , strSubject, strMessage
DoCmd.SendObject
即使您使用EditMessage:=False
,也会从outlook中显示一个警告弹出窗口。因此,您可以应用变通方法来避免它。首先将查询保存到磁盘,并将该文件作为附件添加。这项工作可以通过编程方式完成。尝试使用下面的代码发送邮件而不显示任何警告弹出窗口,但您必须将编程访问设置为从不警告我可疑活动
。请从中查看此帖子
要设置编程访问权限,必须以管理员身份打开outlook。然后按照下面的屏幕截图进行操作
DoCmd.SendObject
即使使用EditMessage:=False,也会从outlook中显示一个警告弹出窗口。因此,您可以应用变通方法来避免它。首先将查询保存到磁盘,并将该文件作为附件添加。这项工作可以通过编程方式完成。尝试使用下面的代码发送邮件而不显示任何警告弹出窗口,但您必须将编程访问设置为从不警告我可疑活动
。请从中查看此帖子
要设置编程访问权限,必须以管理员身份打开outlook。然后按照下面的屏幕截图进行操作
什么弹出窗口?弹出窗口是来自电子邮件客户端还是来自MS Access?看看这个:似乎您需要使用EditMessage:=False
来避免先编辑它。始终先阅读文档。弹出窗口来自电子邮件客户端Outlook,其中创建了带有附件的电子邮件,我必须添加发送。什么弹出窗口?弹出窗口是来自电子邮件客户端还是来自MS Access?看看这个:似乎您需要使用EditMessage:=False
来避免先编辑它。始终先阅读文档。弹出窗口来自电子邮件客户端Outlook,其中创建了带有附件的电子邮件,我必须添加发送。
Private Sub CmdSendMail_Click()
Dim strTo As String
Dim strMessage As String
Dim strSubject As String
Dim attch As String
strTo = "Hazat.Bangurah@umm.edu"
attch = "D:\MyFile.xlsx"
strSubject = "New Lab Charge Codes"
strMessage = "Attached are the New Lab Charge Codes"
' Save file to disk.
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLSX, attch, False, , , acExportQualityPrint
Call SendEmailWithOutlook(strTo, strSubject, strMessage, attch)
End Sub
'======= Function to send email =======
Public Function SendEmailWithOutlook( _
MessageTo As String, _
Subject As String, _
MessageBody As String, strAttachment As String)
' Define app variable and get Outlook using the "New" keyword
Dim OutApp As Object
Dim OutMail As Object ' An Outlook Mail item
' Create a new email object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
' Add the To/Subject/Body to the message and display the message
With OutMail
.To = MessageTo
.Attachments.Add strAttachment
.Subject = Subject
.Body = MessageBody
.Send ' Send the message immediately
End With
' Release all object variables
Set OutApp = Nothing
Set OutMail = Nothing
End Function