在Excel中插入链接时,在显示文本中删除%20

时间:2018-08-22 01:48:12

标签: excel vba

我们有一个要求,当用户在Excel中插入超链接时,URL中的%20将被-或_替代,以便在excel文件中可读。通过宏或其他选项可以做到吗?我们只希望超链接的显示文本可读且没有%20(但当然带有%20的实际URL保持不变)。 请告知,因为我是宏和编程的新手。

1 个答案:

答案 0 :(得分:0)

作为指向正确方向的指针(希望有帮助),像@Matthieu Guindon points out一样,您可能不仅仅需要处理HTML编码的空格,还可以使用{{3 }},然后修改超链接的TextToDisplay

对于%20的特定情况,可能看起来像这样(插入ThisWorkbook模块中):

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim hlink As Hyperlink

    On Error GoTo SafeExit
    Application.EnableEvents = False

    For Each hlink In Target.Hyperlinks
        hlink.TextToDisplay = Replace(hlink.TextToDisplay, "%20", "_")
    Next hlink

SafeExit:
    Application.EnableEvents = True
End Sub