使用Outlook从Excel中选择电子邮件

时间:2015-07-09 12:26:31

标签: excel vba email excel-vba outlook

在Excel中,我有一个联系人列表,例如:

  A                   B
1 Bob Marley          bob.marley@hotmail.com
2 Michael Jackson     michael.jackson@outlook.com
3 Freddie Mercury     freddie.mercury@gmail.com

是否有一些VBA代码会复制电子邮件地址(B1:B3)并在Outlook中打开一个新的电子邮件项目,并将电子邮件地址粘贴到' To'电子邮件中的部分?

我查看了以下网络参考资料,但它们似乎不起作用:

http://www.slipstick.com/developer/create-a-new-message-using-vba/

Open new message in Outlook by Excel VBA

VBA Outlook Mail .display, recording when/if sent manually

1 个答案:

答案 0 :(得分:0)

第一个参考文章几乎就是为你做的。只需将硬编码的'to'值调整为单元格值即可。如果你想要所有三个地址,把东西放在循环中。

Dim objMsg As MailItem

Set objMsg = Application.CreateItem(olMailItem)

 With objMsg
  .To = Range("B2").Value
  .Subject = "This is the subject"

  .Display
End With

Set objMsg = Nothing
End Sub

修改

这是在我的comp上测试的

Sub practisemail()

    Dim objOutlook As Object
    Dim objMail As Object

    Set objOutlook = CreateObject("Outlook.Application")
    Set objMail = objOutlook.CreateItem(0)

     With objMail
      .To = Range("B2").Value
      .Subject = "This is the subject"
      .Display
    End With

    Set objOutlook = Nothing
    Set objMail = Nothing

End Sub