我有一些 VBA 编码可以向收件人发送电子邮件,我从各个单元格中提取数据以填充电子邮件中的文本正文,所有这些都运行良好。
我正在努力的地方是能够在电子邮件文本正文中添加可点击的链接,将它们带到位于单元格 AM22 中的文件位置。
Sub email_from_excel_basic()
Dim emailapplication As Object
Dim emailitem As Object
Dim link As String
Set emailapplication = CreateObject("Outlook.Application")
Set emailitem = emailapplication.createitem(0)
' build the email
emailitem.to = Range("Handover!D9").Value
emailitem.Subject = "Handover Created."
emailitem.Body = "Handover created to carry out the following:" & vbNewLine & vbNewLine & Range("Handover!AL17").Value & " " & Range("Handover!AM17").Value & vbNewLine & Range("Handover!AL18").Value & " " & Range("Handover!AM18").Value & vbNewLine & Range("Handover!AL19").Value & " " & Range("Handover!AM19").Value & vbNewLine & Range("Handover!AL20").Value & " " & Range("Handover!AM20").Value & vbNewLine & Range("Handover!AL21").Value & " " & Range("Handover!AM21").Value & vbNewLine & Range("Handover!AL22").Value & " " & Range("Handover!AM22").Value
' send the email
emailitem.send
Set emailitem = Nothing
Set emailapplication = Nothing
End Sub
我尝试添加范围,但它仅填充单元格 AM22 中的文本,而不是作为链接。
不要使用纯文本
Body
属性,而是使用 HTMLBody
并使用包含 <a>
链接的 HTML 数据填充其值。
另请记住,链接指向的文件的位置必须可由预期接收者访问 - 它不能指向运行脚本的计算机上的本地文件。如果不是这种情况,请考虑将文件添加为附件 (
emailitem.Attachments.Add
)。