在Excel中将超链接转换为HTML代码

3

我在Excel文件中有一列超链接,想要将它们转换为相应的HTML代码:

<a href="http://www.example.com">Link Name</a>

我找到了仅提取链接的方法(作为文本),但我需要将整个HTML代码作为文本替换单元格中的超链接。

enter image description here

我已经搜索了很久,但好像没有人需要这个答案。有人可以帮忙吗?


你的链接看起来很完美!请清楚地指明你拥有什么以及结果应该是什么样子。 - ratmalwer
谢谢回复,我添加了一张截图以使其更清晰。我想用HTML代码(在Excel单元格中)替换超链接。 - Alex
1个回答

3

超链接对象中获取.Address和可选的.SubAddress实际上是一种相当简单的方法。 .TextToDisplay属性仅是单元格的值或文本。

Sub html_anchors()
    Dim a As Range, u As String, l As String
    Dim sANCHOR As String: sANCHOR = "<a href=""%U%"">%L%</a>"

    For Each a In Selection
        With a
            If CBool(.Hyperlinks.Count) Then
                l = .Text
                u = .Hyperlinks(1).Address
                If Right(u, 1) = Chr(47) Then u = Left(u, Len(u) - 1)
                .Hyperlinks(1).Delete
                .Value = Replace(Replace(sANCHOR, "%U%", u), "%L%", l)
            End If
        End With
    Next a
End Sub

选择要处理的所有单元格,然后运行程序。如果您选择的任何单元格中没有包含超链接,它将被忽略。


真棒,感谢不已!对我来说绝对不是一件容易的事 :) - Alex
有一个小问题 - 代码在URL末尾添加了一个斜杠,导致我的PDF文件现在出现404错误:a href="http:/www.example.com/file_2006.pdf/"你能帮我解决这个问题吗? - Alex
是的。我担心连接地址和子地址会产生双斜杠,但没有想到 http:// 需要一个双斜杠。给我一点时间…… - user4039065
嘿,Jeeped,你解决了这个问题吗?请告诉我。谢谢。 - Alex
子地址对您的目的毫无作用,而可能的子地址类型的变化让我感到头痛,因此我将它们全部删除。如果我能够收集到合理完整的子地址样式,我可能会在不久的将来重新审视这个问题,但现在,这应该已经满足了您的需求。 - user4039065
它完全满足我的需求。再次感谢你的努力! - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接