通过VBA创建带有超链接的outlook电子邮件

通过VBA创建带有超链接的outlook电子邮件,vba,excel,email,outlook,Vba,Excel,Email,Outlook,我有一个宏,其目的是从excel中的文本框创建Outlook电子邮件。 问题是当我写一个单词并在上面放置超链接时,当显示电子邮件时,超链接不在那里 Sub Envio() Dim endereco, arquivo, destino, assunto, mensagem, nome, copia, anexo As String Dim row, report As Integer Dim i As Integer Dim OutApp As Outlook.Application Dim ou

我有一个宏,其目的是从excel中的文本框创建Outlook电子邮件。 问题是当我写一个单词并在上面放置超链接时,当显示电子邮件时,超链接不在那里

Sub Envio()
Dim endereco, arquivo, destino, assunto, mensagem, nome, copia, anexo As String
Dim row, report As Integer
Dim i As Integer
Dim OutApp As Outlook.Application
Dim outMail As Outlook.MailItem

anexo = ThisWorkbook.Sheets("Mensagem").Cells(39, 2).Value
assunto = ThisWorkbook.Sheets("Mensagem").Cells(5, 2).Value
mensagem = ThisWorkbook.Sheets("Mensagem").[TextBox].Text & vbCrLf
copyblind = ThisWorkbook.Sheets("Mensagem").Cells(8, 2).Value


i = 2

destino = ThisWorkbook.Sheets("Emails").Cells(i, 1).Value



Do Until destino = ""
nome = ThisWorkbook.Sheets("Emails").Cells(i, 2).Value
copia = ThisWorkbook.Sheets("Emails").Cells(i, 3).Value


Application.DisplayAlerts = False
Set OutApp = CreateObject("Outlook.Application")
Set outMail = OutApp.CreateItem(olMailItem)


With outMail

.To = destino
If copia <> "" Then
.CC = copia
Else
.CC = ""
End If
.BCC = copyblind
.Subject = nome & ", " & assunto
.Body = mensagem
If anexo <> "" Then
.Attachments.Add (anexo)
End If
.BodyFormat = olFormatHTML
.HTMLBody = "<BODY style=font-size:11pt;font-family:Calibri>" & mensagem & "<BR><BR>" & _
"</BODY>"




.Display

End With

i = i + 1
destino = ThisWorkbook.Sheets("Emails").Cells(i, 1).Value

Set outMail = Nothing
Set OutApp = Nothing

Loop

Application.DisplayAlerts = True

End Sub
Sub-Envio()
Dim endereco、arquivo、destino、Assto、mensagem、nome、copia、anexo作为弦
Dim行,报告为整数
作为整数的Dim i
将OutApp设置为Outlook.Application
将outMail设置为Outlook.MailItem
anexo=ThisWorkbook.Sheets(“mensage”).单元格(39,2).值
assunto=此工作簿.Sheets(“mensage”).单元格(5,2).值
mensage=ThisWorkbook.Sheets(“mensage”)[TextBox]。Text&vbCrLf
copyblind=ThisWorkbook.Sheets(“mensage”).Cells(8,2).Value
i=2
destino=ThisWorkbook.Sheets(“email”).Cells(i,1).Value
直到destino=“”
nome=此工作簿.Sheets(“email”).Cells(i,2).值
copia=此工作簿.Sheets(“email”).Cells(i,3).值
Application.DisplayAlerts=False
Set-OutApp=CreateObject(“Outlook.Application”)
Set-outMail=OutApp.CreateItem(olMailItem)
发邮件
.To=destino
如果是“”那么
.CC=copia
其他的
.CC=“”
如果结束
.BCC=copybind
.Subject=nome&“,”和assunto
.Body=mensage
如果是“anexo”,则
.Attachments.Add(anexo)
如果结束
.BodyFormat=olFormatHTML
.HTMLBody=”“&mensage&“

”和_ "" .展示 以 i=i+1 destino=ThisWorkbook.Sheets(“email”).Cells(i,1).Value 发送邮件=无 设置应用程序=无 环 Application.DisplayAlerts=True 端接头

有人能帮我吗?

试着在邮件正文中添加链接的HTML标记,如下所示:

<a href="https://yourhyperlink.com">Your Hyperlink</a>


请学习如何使用。适当的缩进可以节省数小时无用的调试。但我总是在更改超链接,我希望以“dinamic”的方式进行此操作
,也许在您的情况下,它更像
我不太懂html=(,我应该把它放在哪里?非常感谢您的帮助!您将它放在正文中。您在带有outMail的
部分的最后一行代码中有正文。它当前显示
.HTMLBody=“&mensage&”

“&”
标记分别显示电子邮件正文的开始和结束。您的邮件已在此处,当前存储为
mensage
变量。
标记分别显示链接的开始和结束。您只需将链接标记放在这些正文标记之间的任何位置…无论你想让它去哪里。