通过VBA创建带有超链接的outlook电子邮件
我有一个宏,其目的是从excel中的文本框创建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
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
变量。
和
标记分别显示链接的开始和结束。您只需将链接标记放在这些正文标记之间的任何位置…无论你想让它去哪里。