Excel中的完整超链接路径

时间:2013-07-05 13:35:29

标签: excel vba hyperlink

我在Excel文件中有一个列,其中我只有'ReleaseDoc'这样的值,但它们都是这样的超链接:

\\server1\folder1\subFolderA\subFolderB\SubFolderC\RealseaseDoc.doc

现在,我要做的是在另一列中包含从超链接中提取的文件路径,并且我已经使用此宏函数完成了该操作

Function HLink(rng As Range) As String
If rng(1).Hyperlinks.Count Then HLink = rng.Hyperlinks(1).Address
End Function

在每个单元格中,我用适当的单元格调用此函数,我想从中提取地址

问题是我显示的内容是这样的:

../../../SubFolderB/SubFolderC/RealeasesDoc.doc

我没有看到文档的完整路径,任何人都可以帮助这个vba函数吗?

PS:我已经搜索了帖子,发现没有这样的内容

谢谢

2 个答案:

答案 0 :(得分:7)

Excel会尽可能将地址更改为相对地址。要防止这种情况,您需要设置Hyperlink Base属性。在Excel 2010中,单击文件 - 信息,根据需要显示更多属性,然后输入C:。

的超链接基础

如果没有超链接基础,则假定它是工作簿的路径。通过将其设置为C:,您强制Excel显示整个路径,因为它无法创建相对于C:的路径。如果您创建Hyperlink Base \ server \ folder1 \,您将获得相对路径,因为Excel 可以创建相对于该路径的路径。

因此,如果要保证Address中的完整路径,请将Hyperlink Base属性设置为与工作簿不同的共享或与工作簿不同的本地驱动器。

答案 1 :(得分:0)

此处显示了一个解决方案:https://support.microsoft.com/en-us/help/903163/how-to-create-absolute-hyperlinks-and-relative-hyperlinks-in-word-documents

链接驱动到MSWord支持页面,但它也适用于MSExcel(我使用MSExcel2010验证它)。提出了两个解决方案:第一个适用于所有文档,第二个适用于单个文档。