Excel超链接批量更新

我有一个包含数千行的电子表格。 每一行都包含一个带有path的超链接。

path是无效的,但是通过用正确的值replace第一部分是容易解决的。

Example: current hyperlink: F:\Help\index.html Needed: P:\SystemHelp\index.html 

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

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

除了macros,我不知道另一种方式。 但看起来有人已经写了一个去做。

嗨cnx.org,重新创buildReplace函数的方法。

 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 

不需要macros

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

  • 将文档保存为XML Spread Sheet

  • 用记事本打开文件

  • 将“错误的文本string”全部replace为“正确的文本string”

  • 保存

  • 用Excel打开文件

  • 以原始格式保存文档

另一种方法是插入一个'所有文字,所有文字,到search和replace,然后通过并删除'的字符。