发布于2023-11-12 14:14 阅读(1047) 评论(0) 点赞(0) 收藏(2)
我的数据设置如下:
-在 Excel 上,我有一个工作表“Test1”,其中包含我想要向其发送电子邮件的人员列表。像这样;
No. Version Company Name Email
1 R x Max max@abc.com
2 E y Bill bill@abc.com
3 C z Scott scott@abc.com
我要发送的电子邮件因类型而略有不同。我当前的代码如下:
Sub mailTest()
Dim olApp As Outlook.Application
Dim olMail As Outlook.MailItem
For i = 2 To 3
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
mailBody = Worksheets("BODY").Cells(1, 1).Value & Worksheets("Test1").Cells(i, 4) _
& Worksheets("BODY").Cells(2, 1).Value
With olMail
.To = Worksheets("Test1").Cells(i, 5).Value
.Subject = Worksheets("Test1").Cells(i, 3).Value
.HTMLBody = mailBody
.Display
End With
Set olMail = Nothing
Set olApp = Nothing
Next
End Sub
上面的代码显示电子邮件,因为主体位于工作表“BODY”的单元格 A2 中。“Hello”存储在单元格 A1 中,并且也显示得很好,因为我在这两个单元格中都进行了 HTML 编码,将字体设置为 Calibri,将大小设置为 3。
问题是当我使用代码从第 4 列的工作表 Test1 中提取人员姓名时;
& Worksheets("Test1").Cells(i, 4)
它以不同的字体显示,默认为 Times New Roman。我剩下的就是 Calibri 中显示的所有内容,只有他们的名字被拉到 Times New Roman 中。
有没有办法解决这个问题,而无需在每个名称单元格中添加 HTML 代码?我正在处理的实际文件有大约 500 个名称,所以手动执行会很痛苦......
感谢大家。
尝试更换
.HTMLBody = mailBody
和
.HTMLBody = "<!DOCTYPE html><html><head><style>"
.HTMLBody = .HTMLBody & "body{font-family: Calibri, ""Times New Roman"", sans-serif}"
.HTMLBody = .HTMLBody & "</style></head><body>"
.HTMLBody = .HTMLBody & mailBody & "</body></html>
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/531808/c9ebbd231ea109d662c5/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!