指定默认的超链接文本(Microsoft Excel)
乔治经常在他的工作表中插入超链接。这些超链接指向驻留在其计算机系统上的各种类型的文件。当他插入超链接时,Excel插入的默认超链接文本是文件的完整路径和文件名。乔治希望此超链接文本默认情况下仅包含文件名,而不包含完整路径。
有一种非常简单的方法可以实现所需的结果:只需将工作簿与您想要超链接的文件移动到同一文件夹中。使用“插入超链接”对话框时,然后使用文件名(不带路径)作为链接。
如果那不可行,则使用“插入超链接”对话框会导致完整路径最终以“插入超链接”对话框的“地址”字段和“要显示的文本”字段结尾。无法更改此默认行为。您只能编辑Excel建议的默认值。这意味着您可以在单个超链接的基础上,编辑“插入超链接”对话框中的“要显示的文本”字段,以便根据需要仅显示文件名。
当然,这涉及到大量的编辑工作,因此推动了George的查询。有两种解决方法。第一个是不依赖于“插入超链接”对话框。而是构造一个使用HYPERLINK函数插入超链接的公式。例如,假设您在单元格C2中具有包含文件的文件夹的路径名:
C:\Users\allen\Desktop\
此外,您可能具有D2:D75范围内的文件名列表,例如:
MyWorkbook.xlsx MyDocument.docx MyPDF.pdf
您可以将这样的公式放在单元格E2中:
=HYPERLINK($C$2 & D2,D2)
将公式复制到E3:E75范围内,您将拥有所需的超链接。
如果您已经在电子表格中有一堆插入的链接(例如,在A列中),则可以使用更大的公式来提取并仅显示文件名:
=HYPERLINK(A1,SUBSTITUTE(A1,LEFT(A1,FIND(CHAR(1),SUBSTITUTE(A1, "\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))),""))
然后,您可以隐藏包含全路径超链接的列,以便仅看到所需的缩短版本。
如果您有许多要影响的超链接,则可以使用宏从所有现有的超链接中删除路径。
Sub FixHyperlinkDesc() Dim h As Hyperlink Dim sRaw As String Dim iPos As Integer For Each h In ActiveSheet.Hyperlinks sRaw = h.TextToDisplay iPos = Instr(1, sRaw, "\") While (iPos > 0) sRaw = Mid(sRaw, iPos + 1, Len(sRaw)) iPos = Instr(1, sRaw, "\") Wend If sRaw <> h.TextToDisplay Then h.TextToDisplay = sRaw End If Next h End Sub
宏触摸的唯一内容是每个超链接的显示文本,并且删除最后一个反斜杠之前的所有内容。该宏不会影响HYPERLINK函数的结果。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(13279)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。