VBA使用Outlook自动发送邮件

↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓
在这里插入图片描述

基础版本–能自动发送就是成功

利用VBA使用Outlook自动发送邮件,代码及注释如下:

Sub send_mail()Dim ObjOL As Object
Dim itmNewMail As Outlook.MailItem
Dim mailaddress As String
'引用Microsoft Outlook 对象
Set ObjOL = CreateObject("Outlook.Application")
Set itmNewMail = ObjOL.CreateItem(olMailItem)'******输入参数,多个收件人,抄送人用分号间隔
With itmNewMail.Subject = "测试邮件"    '主旨.body = "这是一封测试邮件"   '正文本文.To = "12345@qq.com"  '收件者' .CC=CC '抄送邮件地址' .BCC = BCC mail.Bcc='12345678@qq.com'.Attachments.Add "C:\测试.xlsx"   '插入附件.Importance = 2 '设置重要性为高.Display  '启动Outlook发送窗口.send '发送
End With
Set ObjOL = Nothing
Set itmNewMail = NothingEnd Sub

如果运行过程中报错
“用户定义类型未定义(User-defined type not defined)”,则需要添加对应的插件:
点击Tools-> References,选中下面两个插件:
Microsoft Excel [版本号] Object Library
Microsoft Outlook [版本号] Object Library

在这里插入图片描述

添加多个附件

如果需要添加多个附件,则直接使用多次的 .Attachments.Add即可

Sub send_mail()Dim ObjOL As Object
Dim itmNewMail As Outlook.MailItem
Dim mailaddress As String
'引用Microsoft Outlook 对象
Set ObjOL = CreateObject("Outlook.Application")
Set itmNewMail = ObjOL.CreateItem(olMailItem)'******输入参数,多个收件人,抄送人用分号间隔
With itmNewMail.Subject = "测试邮件"    '主旨.body = "这是一封测试邮件"   '正文本文.To = "12345@qq.com"  '收件者.Attachments.Add "C:\测试.xlsx"   '插入附件1.Attachments.Add "C:\测文件.docx"    '插入附件2.Display  '启动Outlook发送窗口.send '发送
End With
Set ObjOL = Nothing
Set itmNewMail = NothingEnd Sub

选择发送邮箱/账号

自动发送默认使用outlook中的默认邮箱,但是我们的outlook邮箱可能除了我们自己的邮箱账号外还有其他的账号,例如公共邮箱。那我们如何使用其他的账号自动发送邮件呢?只要设定一下SendUsingAccount属性即可:

Sub send_mail()Dim ObjOL As Object
Dim itmNewMail As Outlook.MailItem
Dim mailaddress As String
'引用Microsoft Outlook 对象
Set ObjOL = CreateObject("Outlook.Application")
Set itmNewMail = ObjOL.CreateItem(olMailItem)'******输入参数,多个收件人,抄送人用分号间隔
With itmNewMail.Subject = "测试邮件"    '主旨.body = "这是一封测试邮件"   '正文本文.To = "12345@qq.com"  '收件者.SendUsingAccount = ObjOL.Session.Accounts.Item(2) '选择发送邮箱.Importance = 2 '设置重要性为高.Display  '启动Outlook发送窗口.send '发送
End With
Set ObjOL = Nothing
Set itmNewMail = NothingEnd Sub

语句 .SendUsingAccount = ObjOL.Session.Accounts.Item(2)中的Item(2)中的数字是根据实际邮箱账号的数量和顺序来的,确定的方法可以在debug时找到itmNewMail对象的.SendUsingAccount 属性确认,或者直接从1开始慢慢试吧!

修改正文格式

如果需要修改正文中的字体,则需要使用HTML格式调整,代码示例如下:

Sub send_mail_html()Dim ObjOL As Object
Dim itmNewMail As Outlook.MailItem
Dim mailaddress As String
'引用Microsoft Outlook 对象
Set ObjOL = CreateObject("Outlook.Application")
Set itmNewMail = ObjOL.CreateItem(olMailItem)'******输入参数,多个收件人,抄送人用分号间隔
With itmNewMail.Subject = "测试邮件"  '主旨'正文本文.HTMLBody = "<H2>致尊敬的收件人</H2><BR>" & _"<FONT SIZE=4>请注意<BR>" & _"这是一封<Font Face=Times Roman Size=4.5 Color=blue>测试邮件</font>并且<Font Face=Times Roman Size=4.5 Color=red>没有附件</font>。<BR>"  .To = "12345@qq.com"  '收件者.Display  '启动Outlook发送窗口.Send
End With
Set ObjOL = Nothing
Set itmNewMail = NothingEnd Sub

其中正文中的HTML标签含义如下:

<H2>   </H2>标签: 在Html语句中<h1> - <h6> 标签可定义标题。<h1> 定义最大的标题。<h6> 定义最小的标题。
<br> 标签:插入一个换行符
<font>标签: 规定文本的字体、字体尺寸、字体颜色。例如示例中的<Font Face=Times Roman Size=4.5 Color=blue>

其他格式,例如加粗,斜体等都可以使用特定的HTML标签实现,具体百度即可。

插入图片

如果需要在正文中插入图片的话则需要先插入图片附件,然后利用HTML将图片插入到正文中

Sub send_mail_html()Dim ObjOL As Object
Dim itmNewMail As Outlook.MailItem
Dim mailaddress As String
'引用Microsoft Outlook 对象
Set ObjOL = CreateObject("Outlook.Application")
Set itmNewMail = ObjOL.CreateItem(olMailItem)'******输入参数
With itmNewMail.Subject = "测试邮件"  '主旨.Attachments.Add "C:\Users\test.jpg"  '添加图片附件'正文本文,插入图片.HTMLBody = "<H2>致尊敬的收件人</H2><BR>" & _"<FONT SIZE=4>请看如下图片<BR>" & _"<img src='cid:test.jpg' height=432 width=864>".To = "12345@qq.com"  '收件者.Display  '启动Outlook发送窗口.Send
End With
Set ObjOL = Nothing
Set itmNewMail = NothingEnd Sub

代码中的主要是<img src='cid:test.jpg' height=432 width=864>
这一句,用于显示图片和调整大小,其中cid:后的字符串一定要保持和图片附件的名称一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/45568.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python实现自动发送邮件

最近比较闲的慌&#xff0c;在自己学习Python爬虫&#xff0c;学到了用Python发送邮件&#xff0c;觉得这个可能以后比较实用。以下项目用QQ邮箱为例。 需要用到的模块&#xff1a; smtplib&#xff0c;email 提醒&#xff01;QQ 邮箱一般默认关闭SMTP服务&#xff0c;我们得…

chatgpt赋能python:Python写模拟器脚本

Python写模拟器脚本 Python是一种强大的编程语言&#xff0c;适用于各种任务&#xff0c;包括模拟器编写。模拟器是一种软件程序&#xff0c;能够模拟硬件或软件系统的行为。这篇文章将介绍Python编写模拟器脚本时需要关注的一些关键点。 为什么选择Python编写模拟器脚本 Py…

chatgpt赋能python:Python在线模拟器:让编程变得更加轻松

Python 在线模拟器&#xff1a;让编程变得更加轻松 介绍 Python 在线模拟器是一个非常实用的工具&#xff0c;它可以帮助用户直接在浏览器中测试和运行 Python 代码。在线模拟器的出现简化了编程过程&#xff0c;不需要安装 Python IDE 等软件&#xff0c;只需要有一台连接互…

老子简介(函谷关道德经)

老子简介 老子(约前580~前500年之后)&#xff0c;姓李名耳。字聃&#xff0c;春秋时期楚国人&#xff0c;道家学派创始人。曾在东周国都洛邑(今河南洛阳)任守藏史(相当于国家图书馆馆长)。他博学多才&#xff0c;晚年乘青牛西去&#xff0c;在函谷关前写成《道德经》。 老子主…

【天天读书】《道德经》第十六章

《道德经》第十六章 [原文] 致虚极,守静笃①; 万物并作②,吾以观复③。 夫物芸芸④,各复归其根。 归根⑤曰静,静曰⑥复命⑦。 复命曰常⑧,知常曰明⑨。 不知常,妄作凶。 知常容⑩,容乃公, 公乃全⑾,全乃天⑿, 天乃道,道乃久, 没身不殆。 [译文] 尽力…

论文学习——VideoGPT

论文学习——VideoGPT: Video Generation using VQ-VAE and Transformers 原文链接&#xff1a;https://arxiv.org/abs/2104.10157 1. 设计思路 不同种类的生成模型在一下多个维度各有权衡&#xff1a;采样速度、样本多样性、样本质量、优化稳定性、计算需求、评估难易程度等…

拥抱变化 | SAM发布后,大模型时代的算法研发如何发展?

作者 | 刀刀宁 编辑 | 汽车人 原文链接&#xff1a;https://zhuanlan.zhihu.com/p/619797754 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 ADAS巨卷干货&#xff0c;即可获取 点击进入→自动驾驶之心【AIGC】技术交流群 大模型时代&#xff0c;是危机时代。 但危机&a…

【Midjourney实操】逼真到颤抖!保姆级教程教生成效果炸裂的图片

最近&#xff0c;许多由Midjourney V5创作的画作在网络上引起了热议&#xff0c;许多人惊呼&#xff1a;人类画师&#xff0c; 插画师&#xff0c; 设计师统统活不下去了&#xff01; 比如下面这张中国情侣的画作&#xff1a; 因为前段时间这个很火&#xff0c; 我跟着同样的p…

DDR5市场迎来拐点 Rambus再次先发制人

在数字化时代&#xff0c;行业用户对于算力的追求是无止境的。除了像CPU这样的核心部件以外&#xff0c;内存的容量与带宽也是提升算力不可忽视的重要一环。近日&#xff0c;Rambus率先推出6400MT/s DDR5寄存时钟驱动器&#xff0c;旨在进一步提升服务器内存性能。 算力驱动创新…

高质量WordPress下载站模板5play主题源码

介绍&#xff1a; 5play下载站是由国外站长开发的一款WordPress主题&#xff0c;主题简约大方&#xff0c;为v1.8版本&#xff0c; 该主题模板中包含了上千个应用&#xff0c;登录后台以后只需要简单的三个步骤就可以轻松发布apk文章&#xff0c; 我们只需要在WordPress后台…

当月薪3000变成万元进账,ChatGPT成就前女友视野中的闪耀新星

在生活的曲折丛林中&#xff0c;每个人都渴望抓住那一抹光明。突然&#xff0c;你发现了一个隐藏的秘密武器&#xff0c;它能让你趟过迷雾&#xff0c;瞥见成功的彼岸。ChatGPT&#xff0c;这个神秘的力量&#xff0c;将领导你跃过层层障碍&#xff0c;找到属于你的辉煌篇章。马…

【前端】vue学习5 : vue + ElementUI

vueelementUI 项目搭建 命令行需要管理员权限。 根据之前创建vue-cli项目一样再来一遍 创建项目。 1、创建一个名为 hello-vue 的工程 vue init webpack vue-element D:\IdeaProjects\vue>vue init webpack vue-element ‘git’ &#xfffd;&#xfffd;&#xfffd;&…

理解Window和WindowManager(一)

理解Window和WindowManager(一) Window是一个抽象类,它的具体实现是PhoneWindow,创建一个WindowManager就可以创建一个Window&#xff0c; Window的具体实现位于WindowManagerService中,WindowManager和WindowManagerService是一个IPC过程 为什么使用Window 首先就是Window…

最牛最全的 Postman 实现 API 自动化测试教程

【 文章末尾给大家留下了大量的福利】 背景介绍 相信大部分开发人员和测试人员对 postman 都十分熟悉&#xff0c;对于开发人员和测试人员而言&#xff0c;使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式。但 postman 本身是一个图形化软件&#xff0c;相对较…

Python自动化办公文章,开放下载共97页PDF

发现很多读者对python自动化办公&#xff08;python操作Excel、Word、PDF、PPT&#xff09;的文章都很喜欢&#xff0c;并希望能够应用到工作中去。 因此&#xff0c;我直接写了一个文档《python自动化办公系列文章》供大家学习参考&#xff0c;已经整理成册(如下图所示)&…

RPA、低代码、流程挖掘纷纷引入生成式AI,超自动化迎来LLM时代

3月7日&#xff0c;有个名为Kognitos智能RPA厂商拿到了675万美元融资&#xff0c;自送绰号“生成式AI自动化”先驱。其主要业务&#xff0c;是提供类似ChatGPT的对话式功能&#xff0c;为客户提供更人性化的智能自动化服务。 对于Kognitos的绰号&#xff0c;业内人士看后呵呵一…

Win10、Win11跳过联网注册微软账户激活方法

第一次开机之后&#xff0c;跳过前面两个设置&#xff0c;我们来到联网界面&#xff0c;和win10不同的是&#xff0c;这个界面并没有预设跳过的按钮&#xff0c;开机重启也无法直接跳过这个步骤&#xff0c;所以需要通过特殊方式避过这个环节。大家可以先尝试使用下面的方法&am…

Android中水波纹效果的快速实现及使用

背景xml布局background属性资源文件代码实现foreground属性资源文件代码实现效果展示扩展使用及注意事项 背景 Android 5.0 以上引入了控件点击的水波纹效果&#xff0c;为了用户体验和相关需求需要。下面我们来一起实现。提前告知一下&#xff0c;实现起来相对是简单的&#…

手把手教你画一个 逼格满满圆形水波纹loadingview Android

才没有完结呢o(&#xffe3;︶&#xffe3;)n 。大家好&#xff0c;这里是番外篇。 拜读了爱哥的博客&#xff0c;又学到不少东西。爱哥曾经说过&#xff1a; 要站在巨人的丁丁上。 那么今天&#xff0c;我们就站在爱哥的丁丁上来学习制作一款自定义view&#xff08;开个玩笑&…

图像处理水波纹效果

总结起来就是将水波圆周从0-R逐渐扩大并逐帧显示。在扩大的同时赋予该像素点波动函数和能量递减的变换。颜色就是对像素点四个方向取整&#xff08;色彩邻域&#xff09;&#xff0c;取权值相乘&#xff0c;最后赋予回给该点。 可以随机自动选择涟漪生成点的圆心&#xff0c;涟…