2010-05-10 31 views
12

我有一个包含数千行的电子表格。每一行都包含一个带有路径的超链接。Excel超链接大量更新

该路径无效,但通过用正确的值替换第一部分可以轻松解决。

Example: current hyperlink: F:\Help\index.html 

Needed: P:\SystemHelp\index.html 

问题是,标准查找/替换不会“查看”超链接的内容。

是写一个宏的唯一方法还是有另一种方法来做到这一点?

+1

的Excel版本您使用的?查找/替换超链接适用于Excel 2000(9.0.3821 SR-1) – 2010-05-10 18:05:03

+0

Excel 2010,我需要替换超链接的地址部分而不是可见部分 – IMHO 2010-05-10 18:42:15

+0

啊,这很有道理。 dcp的答案是否有效? – 2010-05-10 18:56:06

回答

6

我不知道除了宏之外的另一种方式。但看起来像already wrote one这样做。

+0

接受。宏没有改变(Excel 2010) – IMHO 2010-05-10 19:44:42

+0

我也可以验证这个工作。刚刚做到了。感谢上帝...... – canadmos 2014-03-18 20:44:32

9

嘿cnx.org,重新创建Replace函数的方法。

Sub FindReplaceHLinks(sFind As String, sReplace As String, _ 
    Optional lStart As Long = 1, Optional lCount As Long = -1) 

    Dim rCell As Range 
    Dim hl As Hyperlink 

    For Each rCell In ActiveSheet.UsedRange.Cells 
     If rCell.Hyperlinks.Count > 0 Then 
      For Each hl In rCell.Hyperlinks 
       hl.Address = Replace(hl.Address, sFind, sReplace, lStart, lCount, vbTextCompare) 
      Next hl 
     End If 
    Next rCell 
End Sub 

Sub Doit() 

    FindReplaceHLinks "F:\help\", "F:\SystemHelp\" 

End Sub 
+1

+1(包含优雅)代码 – Praesagus 2013-02-12 04:00:00

0

另一种方法是插入一个'字符,所以它是所有文本,搜索和替换,然后通过并删除'字符。

+0

它在一些链接上工作,但不是全部。字符串被替换,但不是所有的超链接,只是看似随机的。 – Caimen 2017-05-31 21:47:21

7

无需宏

警告:有些东西,如图表等可能会丢失,但公式和格式似乎被保留。

  • 将文档保存为XML试算表

  • 用记事本打开

    文件
  • 从 “错误的文本字符串” “全部替换”,以 “正确的文本字符串”

  • 保存

  • 用Excel打开文件

  • 原始格式保存文档