【问题标题】:changing a wildcard in an excel hyperlink with vba使用 vba 更改 excel 超链接中的通配符
【发布时间】:2017-02-21 18:18:44
【问题描述】:

我需要一些关于删除/替换 excel 超链接中的通配符的帮助。 从逻辑上讲,这似乎很容易,但超出了我的能力范围。

我有一个包含指向 PDF 文档的超链接的电子表格。超链接包含“#”字符,这会阻止文件路径工作。在超链接中,我只需将“#”更改为“%23”,链接就可以工作。由于链接的数量,我不想手动执行此操作。有没有办法用 VBA 实现这一点。更改文件路径似乎很容易,但搜索超链接和更改 # 似乎是不可能的。

所有超链接都在A列中。

【问题讨论】:

  • 超链接是在 Hyperlink() 函数中还是通过 Insert > Hyperlink 手动插入的?
  • 嗨 teylyn,这不是工作表的超链接功能,因为它不会出现在编辑栏中。右键单击>编辑超链接是唯一看到它的原因。

标签: excel hyperlink vba


【解决方案1】:

Excel 将# 左侧的文本视为.Address,将右侧的文本视为.SubAddress - 因为它建议使用锚类型链接。您需要像这样在每个链接上修复它:

For Each lk In Sheets("YourSheetName").Range("A:A").Hyperlinks
    If lk.SubAddress <> "" Then
        lk.Address = lk.Address & "%23" & lk.SubAddress
        lk.SubAddress = ""
    End If
Next

【讨论】:

  • 100% 正确。没有其他人能够提出这一点。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-11
  • 1970-01-01
  • 2018-03-09
  • 1970-01-01
  • 2013-08-30
  • 2016-05-21
  • 1970-01-01
相关资源
最近更新 更多