【发布时间】:2017-06-22 10:38:53
【问题描述】:
我正在尝试在邮件正文中插入文本、超链接和表格。
Sub Sendmail()
Dim olItem As Outlook.MailItem
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSht As Excel.Worksheet
Dim sPath As String
Dim iRow As Long
Dim strRFIitems As String
Dim Signature As String
sPath = "**"
' // Excel
Set xlApp = CreateObject("Excel.Application")
' // Workbook
Set xlBook = xlApp.Workbooks.Open(sPath)
' // Sheet
Set xlSht = xlBook.Sheets("Sheet1")
' // Create e-mail Item
Set olItem = Application.CreateItem(olMailItem)
trRFIitems = xlSht.Range("E2")
Signature = xlSht.Range("F2")
With olItem
.To = Join(xlApp.Transpose(xlSht.Range("A2", xlSht.Range("A9999").End(xlUp))), ";")
.CC = Join(xlApp.Transpose(xlSht.Range("B2", xlSht.Range("B9999").End(xlUp))), ";")
.Subject = xlSht.Range("C2")
.Body = xlSht.Range("D2") & Signature
.Attachments.Add (strRFIitems)
.Display
End With
' // Close
xlBook.Close SaveChanges:=True
' // Quit
xlApp.Quit
Set xlApp = Nothing
Set xlBook = Nothing
Set xlSht = Nothing
Set olItem = Nothing
End Sub
此代码从链接的 Excel 工作表中检索数据并发送邮件。
要求是:
从链接的 Excel 工作表中检索收件人、抄送、正文、主题和签名数据。
预期结果:
请注意这是预期的格式。
预期的邮件正文包含超链接和表格。
注意:我需要从 Excel 中获取值,因为表格中的值不断变化。
【问题讨论】:
-
从您的描述中不清楚:您想将邮件内容插入到 Excel 工作表中,还是相反? “屏幕截图”是当前的工作版本,还是完成后的样子?你想要一个 html 正文/多部分消息/附件吗?
-
@dlatikay,我现在更新了问题。
-
附加邮件是预期的格式。如何从 Outlook vba 代码中实现这一点?
-
看看this answer,是你要找的吗?
-
@dlatikay,感谢您的参考,但不幸的是,这不是我想要的。