VBA电子邮件循环以在Microsoft Access中发送报告
请帮帮我,我已经为此挣扎了一个星期了 我在Microsoft Access中运行了一个报告,我正在尝试创建一个按钮,该按钮将向8个不同的人发送8个报告,而无需单击“发送”(或编辑消息)。 我从一个查询中创建了一个表单,其中包含我在代码中引用的8个引用(ADC)和电子邮件地址,我已将其附在下面。 我现在的主要问题是:VBA电子邮件循环以在Microsoft Access中发送报告,vba,loops,email,ms-access,ms-access-2010,Vba,Loops,Email,Ms Access,Ms Access 2010,请帮帮我,我已经为此挣扎了一个星期了 我在Microsoft Access中运行了一个报告,我正在尝试创建一个按钮,该按钮将向8个不同的人发送8个报告,而无需单击“发送”(或编辑消息)。 我从一个查询中创建了一个表单,其中包含我在代码中引用的8个引用(ADC)和电子邮件地址,我已将其附在下面。 我现在的主要问题是: 当我在DoCmd中输入“False”时,它仍在打开要编辑的消息 将相应的ADC报告链接到正确的电子邮件 你有没有试过下面的方法,并把它放在一个循环中?这也会在不打开outlook编辑
你有没有试过下面的方法,并把它放在一个循环中?这也会在不打开outlook编辑器的情况下发送电子邮件:
''''''''''''''
' Send Email '
''''''''''''''
email = User & "@123.com"
strItem = "http://schemas.microsoft.com/cdo/configuration/"
strFrom = "TestEmail@email.com"
strCC = ""
Set objOutlook = CreateObject("Outlook.Application")
Set objEmail = CreateObject("CDO.Message")
With objEmail
.To = email
.From = strFrom
.CC = strCC
.Subject = "Report Confirmation"
.textbody = "Hi " & FirstName & vbNewLine & vbNewLine _
"Your Voice!" & vbNewLine & vbNewLine
With .Configuration.Fields
.Item(strItem & "sendusing") = 2
.Item(strItem & "smtpserver") = "mailhost"
.Item(strItem & "smtpserverport") = 25
.Update
End With
.Send
End With
Set objEmail = Nothing
Set objOutlook = Nothing
我无法复制你的问题。我的电子邮件发送时不打开Outlook编辑器。然而,我确实得到了一个警告弹出窗口。查看Outlook信任中心>编程访问设置。感谢您的帮助@6月7日在编程访问设置中,它不允许我更改设置,当前设置为“当我的防病毒软件处于非活动状态或过期时警告我可疑活动(推荐)”。你还有其他建议吗?
''''''''''''''
' Send Email '
''''''''''''''
email = User & "@123.com"
strItem = "http://schemas.microsoft.com/cdo/configuration/"
strFrom = "TestEmail@email.com"
strCC = ""
Set objOutlook = CreateObject("Outlook.Application")
Set objEmail = CreateObject("CDO.Message")
With objEmail
.To = email
.From = strFrom
.CC = strCC
.Subject = "Report Confirmation"
.textbody = "Hi " & FirstName & vbNewLine & vbNewLine _
"Your Voice!" & vbNewLine & vbNewLine
With .Configuration.Fields
.Item(strItem & "sendusing") = 2
.Item(strItem & "smtpserver") = "mailhost"
.Item(strItem & "smtpserverport") = 25
.Update
End With
.Send
End With
Set objEmail = Nothing
Set objOutlook = Nothing