添加到Outlook电子邮件正文的超链接

问题描述 投票:0回答:2

我使用this link作为参考制作了以下代码:

Dim chartPath As String
Dim messageA As String
Dim hyperlink As String

'Set chart path
    chartPath = Environ("userprofile") & _
        "\Documents\Chart " & Format(Now, "mm-dd-yyyy") & ".png"

'Set hyperlink
hyperlink = www.google.com


 'Set message A
 messageA = "<p style= 'font-family:arial;font-size:12'>" & "<b>" & Range("E17").Value & "</b>" & "<br>" & "<br>" & Range("E18").Value & "<br>" & "<br>" & Range("E19").Value & "<br>" & "<br>" & Range("E20").Value & " " & **"<b>" & "<u>" & "<a href =" & hyperlink & ">" & Range("E21").Value & "</a>" & "</u>" & "</b>"** & " " & Range("E22").Value & "<br>" & "<br>" & "<b>" & "<u>" & Range("E23").Value & "</u>" & "</b>" & "<br>" & "<br>" & "</p>"

With OutlookMailItem
     .HTMLBody = messageA & "<img src ='" & chartPath & "'>"
End With

但是,包含超链接的文本一旦点击就不会将我引导到网站,我认为,使用字符串这部分就是问题所在。可能有什么办法可以解决这个问题

vba excel-vba hyperlink outlook-vba excel
2个回答
0
投票

我无法运行您的代码,但我发现这两行应该有一些变化:

'Set hyperlink
hyperlink = "www.google.com" 'Added ""
'Also you can set the value from a cell.
hyperlink = Cells(1,1).Value 'Get value from cell A1.

 'Set message A - Removed **
messageA = "<p style= 'font-family:arial;font-size:12'>" & "<b>" & Range("E17").Value & "</b>" & "<br>" & "<br>" & Range("E18").Value & "<br>" & "<br>" & Range("E19").Value & "<br>" & "<br>" & Range("E20").Value & " " & "<b>" & "<u>" & "<a href =" & hyperlink & ">" & Range("E21").Value & "</a>" & "</u>" & "</b>" & " " & Range("E22").Value & "<br>" & "<br>" & "<b>" & "<u>" & Range("E23").Value & "</u>" & "</b>" & "<br>" & "<br>" & "</p>"

请再次测试您的代码。


0
投票

将此行hyperlink = www.google.com更改为:hyperlink = "http://www.google.com"

如果您的URL中有空格,则需要用%20替换 - 这段代码会为您转换它:

hyperlink = Replace(hyperlink, " ", "%20")
© www.soinside.com 2019 - 2024. All rights reserved.