VBA从当前用户地址发送带有CDO的电子邮件

时间:2014-05-28 12:45:54

标签: excel vba email outlook-vba cdo.message

我尝试发送一封包含使用CDO和Outlook的vba脚本的电子邮件。

我使用您可以在此处找到的脚本:http://www.cpearson.com/excel/Email.aspx

它工作正常,但我想从使用vba的人的Outlook帐户发送电子邮件。我如何获得当前用户的电子邮件地址?

2 个答案:

答案 0 :(得分:0)

实现此目的的最简单方法是从cpearson中删除所有等待代码中“fromadress”的行。如果删除以下行:

If Len(Trim(FromAddress)) = 0 Then
    SendEMail = False
    Exit Function
End If

.From = FromAddress

并更改函数的定义,如下所示:

Function SendEMail(Subject As String, _
        ToAddress As String, _
        MailBody As String, _
        SMTP_Server As String, _
        BodyFileName As String, _
        Optional Attachments As Variant = Empty) As Boolean

然后没有设置fromaddress并自动分析Outlook的标准地址。

答案 1 :(得分:0)

使用CDO是不可能的,因为.from是必需参数。

解决方案是使用本机Outlook VBA(当然,您应该从Outlook发送邮件而不是GMAIL或其他)。这里有很多例子:

http://www.rondebruin.nl/win/s1/outlook/amail1.htm

http://www.rondebruin.nl/win/s1/outlook/mail.htm