我正在尝试在Microsoft Access 2007中创建一个应用程序。如何在没有任何用户交互的情况下在特定事件上使用Outlook 2007静默发送电子邮件。我应该如何处理这个问题。如果你可以提供一些VBA,那将是非常好的,但如果没有,你能指导我如何实现这个目标吗?
答案 0 :(得分:3)
我能够使用以下代码解决我的问题:
Public Sub SendEmail()
Email_Bcc = "email@domain.com"
Email_Body = "Email body!!!!"
Email_Subject = "Email Subject"
On Error GoTo debugs
Set Mail_Object = CreateObject("Outlook.Application")
Set Mail_Single = Mail_Object.CreateItem(0)
With Mail_Single
.Subject = Email_Subject
.To = Email_Send_To
.cc = Email_Cc
.BCC = Email_Bcc
.Body = Email_Body
.send
End With
debugs:
If Err.Description <> "" Then MsgBox Err.Description
End Sub
答案 1 :(得分:1)
首先在您要发送电子邮件的情况下声明几个变量,或者在您希望调用该事件的函数中声明几个变量。
Public Started As Boolean
Public oApp As Outlook.Application
Public oItem As Outlook.MailItem
接下来,打开或获取Outlook,如果它正在运行。
On Error Resume Next
'Get Outlook if it's running
Set oApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
'Outlook wasn't running, start it from code
Set oApp = CreateObject("Outlook.Application")
Started = True
End If
现在,做你的电子邮件。
Set oItem = oApp.CreateItem(olMailItem)
With oItem
.To = "email@email.com"
.Subject = "Your email, sirrah."
.Body = "Please enjoy this complimentary email."
'Send the email
.Send
End With
最后,关闭前景如果之前没有运行并清理。
Set oItem = Nothing
If Started Then
oApp.Quit
End If
答案 2 :(得分:0)
您可以使用宏和“SendObject”操作执行此操作“无代码”。确保完成所有必要的参数To,Subject,Message Text,然后将Edit Message参数设置为'No'。
然后,您可以将此宏附加到您希望的任何事件,例如按钮的OnClick事件。