更改大量的超链接(Microsoft Excel)
Wendy有一个Excel工作表,其中包含1200多个TIFF文件的超链接。 (这些是超链接,而不是常规链接。)Excel出现故障,必须关闭,因此Emily使用自动保存的文件来恢复以前保存的文件。现在,所有先前可用的超链接均不起作用。她在共享的网络驱动器上具有指向图像的超链接,但是AutoSave更改了超链接以引用C:驱动器。她想知道是否有一种简单的方法可以将它们修复回共享网络驱动器。
乍一看,您似乎可以使用Excel的常规查找和替换功能来查找硬盘驱动器名称(如在文件:// c:中)并用网络驱动器替换(如在文件:// shareddrive中)。问题在于该方法仅解决了部分问题,它仅更改了超链接的显示部分,而不更改基础超链接本身。获得超链接本身的唯一方法是使用宏。
假设所有需要更改的超链接都在同一工作表上,则可以使用以下宏:
Sub FixHyperlinks1() Dim wks As Worksheet Dim hl As Hyperlink Dim sOld As String Dim sNew As String Set wks = ActiveSheet sOld = "c:\" sNew = "S:\Network\" For Each hl In wks.Hyperlinks hl.Address = Replace(hl.Address, sOld, sNew) Next hl End Sub
您需要做的就是更改分配给sOld和sNew变量的值。如果在尝试运行宏时遇到错误(包含“替换”功能的行出现错误),这是因为替换功能并非在所有版本的Excel中都可用。在这种情况下,应改用以下宏:
Sub FixHyperlinks2() Dim wks As Worksheet Dim hl As Hyperlink Dim sOld As String Dim sNew As String Set wks = ActiveSheet sOld = "c:\" sNew = "S:\Network\" For Each hl In wks.Hyperlinks hl.Address = Application.WorksheetFunction. _ Substitute(hl.Address, sOld, sNew) Next hl End Sub
请注意,唯一的区别是使用了替代工作表功能。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(8622)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: