MS Access VBA:通过Outlook发送电子邮件

时间:2013-07-31 14:44:00

标签: vba ms-access outlook

如何使用MS Access VBA通​​过帐户发送电子邮件?我知道这个问题很模糊,但很难在网上找到相关的信息,这些信息在某种程度上并不过时。

编辑:我不是故意对那些回答的人不礼貌,而是我正在使用MS Access 。我无法在Outlook VBA中编写实际代码。

2 个答案:

答案 0 :(得分:19)

在Visual Basic编辑器中添加对Outlook对象模型的引用。然后,您可以使用以下代码使用outlook发送电子邮件。

Sub sendOutlookEmail()
Dim oApp As Outlook.Application
Dim oMail As MailItem
Set oApp = CreateObject("Outlook.application")

Set oMail = oApp.CreateItem(olMailItem)
oMail.Body = "Body of the email"
oMail.Subject = "Test Subject"
oMail.To = "Someone@somewhere.com"
oMail.Send
Set oMail = Nothing
Set oApp = Nothing


End Sub

答案 1 :(得分:6)

以下是我在其中一个数据库中使用的电子邮件代码。我只为我想发送给它的人,CC,主题和正文制作了变量。然后,您只需使用DoCmd.SendObject命令。我还在主体后面将它设置为“True”,以便您可以在自动发送之前编辑消息。

Public Function SendEmail2()

Dim varName As Variant          
Dim varCC As Variant            
Dim varSubject As Variant      
Dim varBody As Variant          

varName = "james@yahoo.com"
varCC = "billy@gmail.com, joe@yahoo.com"
'separate each email by a ','

varSubject = "Hello"
'Email subject

varBody = "Let's get ice cream this week"

'Body of the email
DoCmd.SendObject , , , varName, varCC, , varSubject, varBody, True, False
'Send email command. The True after "varBody" allows user to edit email before sending.
'The False at the end will not send it as a Template File

End Function