0

可能重复:
通过 VBA
发送电子邮件 在 Exchange 环境中从 Excel 发送电子邮件

到目前为止我有这个

Dim objOutl
Set objOutl = CreateObject("Outlook.Application")
Set objMailItem = objOutl.CreateItem(olMailItem)
objMailItem.Display
strEmailAddr  = "me.me@you.com"
objMailItem.Recipients.Add strEmailAddr
objMailItem.Body = "Hi"
objMailItem.Attachments.Add "access.xml"
Set objMailItem = nothing
Set objOutl = nothing

有用!但仅限于具有 Outlook 的计算机上。我怎样才能让它与装有 Windows Live 的计算机一起工作?

4

2 回答 2

1

Windows Live Mail (WLM) 不支持通过 VBA 实现自动化,因此它不像 Outlook 那样简单。

对于其他选项,请尝试[vba] e-mail在搜索字段中输入。你会得到很多点击;这是一个相关示例:Hit , hit , hit。其中一些为您提供了使用 CDO 发送邮件的工作代码。如果我是你,我会这样做。

如果您必须使用 WLM,请查看支持 WLM的 Excel 邮件插件。

否则,您将无法使用 VBA 的SendMail方法,该方法非常有限:

  • 只能发送 Excel 对象,例如工作表、工作簿、图表、范围等。
  • 无法在电子邮件正文中写入文本
  • 不能使用 CC 或 BCC 字段
  • 无法附加文件(调用该方法的 Excel 对象除外)

示例代码:

Dim wb As Workbook
Set wb = ActiveWorkbook
wb.SendMail "me.me@you.com", _
            "Insert subject here"

更多示例请看这里:http ://www.rondebruin.nl/sendmail.htm

于 2012-09-05T06:59:02.883 回答
0

以下假设适用于访问(vba)(代码不是我的):

Public Function send_email()

Set cdomsg = CreateObject("CDO.message")
With cdomsg.Configuration.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'NTLM method
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smptserverport") = 587
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") =   "mygmail@gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mypassword"
.Update
End With
' build email parts With cdomsg
.To = "somebody@somedomain.com"
.From = "mygmail@gmail.com"
.Subject = "the email subject"
.TextBody = "the full message body goes here. you may want to create a variable to hold  the text"
.Send
End With
Set cdomsg = Nothing
End Function

请注意,如果您想使用其他电子邮件服务,您应该稍微更改一下代码。

这里有一些其他选项 - msdn 参考

希望能帮助到你。

于 2012-09-04T19:02:04.220 回答