2010-05-10 30 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打開文件

  • 原始格式保存文檔