当我移动电子表格时,Excel超链接会更改

当我移动电子表格时,Excel超链接会更改,excel,vba,Excel,Vba,我有一个电子表格,其中使用vba向文件添加超链接,如下所示: Sheet1.Cells.Hyperlinks.Add Sheet1.Cells(1, 1), objFile.Path 这个很好用。但是,如果我将包含超链接的电子表格移动到另一个文件夹,则所有超链接都会相对于我移动电子表格的文件夹发生更改 有没有办法阻止这种情况发生并修复超链接路径 谢谢尝试添加超链接完整路径公式,而不是超链接对象 Sub AddHyperlinkFormula() Dim strMyPath As String,

我有一个电子表格,其中使用vba向文件添加超链接,如下所示:

Sheet1.Cells.Hyperlinks.Add Sheet1.Cells(1, 1), objFile.Path
这个很好用。但是,如果我将包含超链接的电子表格移动到另一个文件夹,则所有超链接都会相对于我移动电子表格的文件夹发生更改

有没有办法阻止这种情况发生并修复超链接路径


谢谢

尝试添加超链接完整路径公式,而不是超链接对象

Sub AddHyperlinkFormula()
Dim strMyPath As String, strMyFile As String, strName As String

strMyPath = "C:\Path\to\"
strMyFile = "Workbook.xlsx!"
strName= "Alt Text!"

ActiveCell.Formula = "=HYPERLINK(""" & strMyPath & strMyFile & """,""" & strName& """)"
End Sub

同样的事情让我发疯……”=“超级链接”并不总是一个选项,因为它有255个maxchar限制。因此,最好的解决方案确实是设置超链接库(这是特定于工作簿的)。可以通过两种方式完成:

1) 文件->属性->摘要选项卡->超链接库


2) 或者使用vba
ActiveWorkbook.BuiltinoDocumentProperties(29)

此代码放在哪里?还有什么是objFile?你是如何设置的?我不确定这是否重要,因为我刚刚意识到,即使我只是打开一个新工作簿并手动添加一个超链接。如果我随后保存工作簿,它可以正常工作,但一旦我将工作簿移动到另一个文件夹,超链接就会更改。它在Excel2003中运行良好,但在2007年我遇到了问题。我不希望我的单元格成为一个公式。有没有办法修复超链接的路径,使其不发生变化?你在超链接什么?你为什么要避免公式呢?我只是在超链接另一个电子表格。是否可以尝试手动向工作簿添加超链接。然后保存工作簿。如果随后将工作簿移动到其他文件夹,超链接是否会更改并失败?谢谢,我想我已经解决了。我刚刚确定了基于工作簿属性的超链接中有一些内容。这似乎阻止Excel在移动工作簿时更改超链接的路径。谢谢你的帮助。@JC75:注意你可以回答你自己的问题(它是偶数)并接受它。通过这种方式,你可以与社区分享你的知识,并解决这个问题。