VBA 中发送邮件(一. 使用 Outlook 组件)

帮同事做了一个在 Excel 中用 VBA 发邮件的程序,逐行读取 Excel 表格记录中的待发邮件主题、内容及收件人进行发送。首先想到也是看看能否使用 Outlook 的组件,网上查了查,果然有,现把代码贴出来如下:

Excel 中贴个按钮,单击事件指向到这个过程。Excel 的 Visual Basic 编辑器中还必须引用 Microsoft Outlook 11.0 Object Library,具体组件名视你安装的 Outlook 版可能有所不同。只能使用 Outlook 而不是 Outlook Express。

您必须对 Outlook 进行了正确的配置,即达到能使用默认帐户发送邮件,上面代码实现的就是使用 Outlook 的默认帐户来发送邮件。

这种方法有一个很要命的问题就是,每发一封的时候会弹出一个 Outlook 的安全提示,如图:

OutlookAlert1.jpg

一个个“是” 吧,这一定会让你厌其烦的,有说用 SendKeys 或别的软件来自动“是”,但都不太美妙。还不能真正达到全自动批量发邮件的效果。倒是在 Outlook Express 和 Outlook 2007 的安全设置中有这么一个选项“当别的应用程序试图用我的名义发送电子邮件时警告我(W)” 的可选项,可是一则 VBA 不知如何使用 Outlook Express,二则我电脑里没安装 2007 这么高级版本。所以得另寻他法了,那就是 JMail 组件。

参考:1. 如何利用Excel发邮件(Shell 和 SendKeys 来模拟 Outlook Express 操作 )
        2. 巧用Excel发送电子邮件

本文链接 https://yanbin.blog/vba-send-email-outlook/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

1 Comment
Inline Feedbacks
View all comments
ipworld
ipworld
14 years ago

多谢!学习了。