ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11529|回复: 8

在excel中利用vba调用outlook模板发送邮件, 在邮件内容中添加内容

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-7-28 16:13 | 显示全部楼层 |阅读模式
大家好,
excel中用vba调用outlook模板发送邮件,但是我想在邮件中利用代码添加上一句话如
Dear xxx,
由于每次人名不同,想通过程序自动实现, 但是现在程序运行后只有我添加的内容模板的内容不见了, 请问该如何操作?如何添加内容才能保留模板的的内容?
代码如下:
Dim OutApp As Object
Dim OutMail As Object
Dim MailBody As Range
Dim MailSubject As String

Set OutApp = CreateObject("outlook.Application")
Set OutMail = OutApp.createItemfromtemplate("C:\Users\***\AppData\Roaming\Microsoft\Templates\feedback_template.oft")

MsgBox ("This will send a email to HQ-DE")
With OutMail
.To = "******"
.Subject = "Project number Application"
'.BodyFormat = outlook.OlbodyFormat.olFormatHTML
.HTMLBody = "Dear“+cells(1,1) + "<br>" & _
             "Please help to create a P-NO as below" + "<br>" + _
          RangetoHTML(MailBody
)
.display
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

TA的精华主题

TA的得分主题

发表于 2014-7-28 17:24 | 显示全部楼层
这个我未试过 但是 你可以是否获得模板的正文内容  

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-7-28 21:17 | 显示全部楼层
本帖最后由 516420485 于 2014-7-28 21:18 编辑
闻启学 发表于 2014-7-28 17:24
这个我未试过 但是 你可以是否获得模板的正文内容

如果我不写.HTMLBody = "Dear“+cells(1,1) + "<br>" & _
              "Please help to create a P-NO as below" + "<br>" + _
           RangetoHTML(MailBody)

这句时 通过  .display 以后可以看到模板中的邮件正文, 可以在里面随意添加更改,
但是加上红色字体显示的代码后, 邮件的正文就变成只有代码中的文字,
我想只在邮件最顶端添加一个“Dear xxx,”
模板中的正文依然存在,请问这样改怎么添加?

TA的精华主题

TA的得分主题

发表于 2014-7-29 07:14 | 显示全部楼层
516420485 发表于 2014-7-28 21:17
如果我不写.HTMLBody = "Dear“+cells(1,1) + "" & _
              "Please help to create a P-NO as  ...

这样的话 试一试 .HTMLBody = "Dear“+ .HTMLBody

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-7-29 07:22 | 显示全部楼层
那如果要在邮件中部替换一句话呢,不是在开头,是否有方法实现?

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-7-29 07:24 | 显示全部楼层
闻启学 发表于 2014-7-29 07:14
这样的话 试一试 .HTMLBody = "Dear“+ .HTMLBody

谢谢!那如果要在邮件中部替换一句话呢,不是在开头,是否有方法实现?

TA的精华主题

TA的得分主题

发表于 2014-7-29 09:00 | 显示全部楼层
516420485 发表于 2014-7-29 07:24
谢谢!那如果要在邮件中部替换一句话呢,不是在开头,是否有方法实现?

可以啊   relace 这个函数呗  

TA的精华主题

TA的得分主题

发表于 2014-7-29 09:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请问一下 在outlook  里怎么增加模板的  

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-7-29 18:46 | 显示全部楼层
闻启学 发表于 2014-7-29 09:30
请问一下 在outlook  里怎么增加模板的

Set OutMail = OutApp.createItemfromtemplate("C:\Users\***\AppData\Roaming\Microsoft\Templates\feedback_template.oft")
这句代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-10 03:11 , Processed in 0.022617 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表