将文件路径作为超链接Excel VBA插入

时间:2016-10-26 11:05:33

标签: excel vba excel-vba hyperlink

我有一组VBA代码,用于生成电子邮件并自动发送。

我无法正常工作的一件事是将超链接放到电子邮件中的指定文件夹位置。

Dim fpath As String

fpath = Worksheets("MS_JRNL_OPEN_TU_FR-4333635").Range("AD5").Value

"file://" & fpath & _

基本上,用户在运行Cell AD5中的宏时必须输入文件夹位置,但我希望在生成电子邮件后,它会作为完整文件夹位置显示为超链接。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

如果您目前在电子邮件代码中使用HTMLBody,则很容易做到。我假设您使用的代码与下面类似。记下strbody.HTMLBody。假设您的fpath格式为C:\Users\tjb1\Desktop\file.docx,那么您无需为其添加任何其他内容。创建超链接的部分是"<A href=" & fpath & ">test link</A>"。您可以更改测试链接以说出您想要的任何内容,或将行更改为"<A href=" & fpath & ">" & fpath & "</A>"以将路径用作链接文本。

Sub MailURL()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    strbody = "<A href=" & fpath & ">test link</A>"
    On Error Resume Next
    With OutMail
        .To = "APerson@Somewhere.com"
        .Subject = "Testing URL"
        .HTMLBody = strbody
        .Send
    End With
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

我在MrExcel找到了上面的代码,并将其格式化了一下以处理您的变量。