我've written a macro to open several password protected workbooks. The workbooks all have links between each other so for the sake of convenience, I'已设置 UpdateLinks:=0
,以便在其他书籍打开之前,我不会收到所有链接更新的密码提示 .
在所有工作簿打开后,我尝试使用更新链接
Workbooks("Workbook1").UpdateLink Type:=1
Workbooks("Workbook2").UpdateLink Type:=1
Workbooks("Workbook3").UpdateLink Type:=1
Workbooks("Workbook4").UpdateLink Type:=1
这样更方便,因为工作簿现在是打开的,因此不需要密码提示 .
这在两个工作簿上工作正常,但另外两个提示我找到不存在的链接的源 . 这就是工作簿中不存在的实际链接..
我花了好几个小时试图找出它从哪里获得这个链接,但它根本不存在于任何地方..
为了更清楚,在工作簿2中我有三个链接A,B和C.这些在数据>编辑链接菜单中可见 . 但是,当我运行宏时,它要求我找到链接E的源...
我已经尝试了下面的内容,看看是否存在因某种原因无法看到的链接
Workbooks("Workbook2").Activate
aLinks = ActiveWorkbook.LinkSources(1)
If Not IsEmpty(aLinks) Then
For i = 1 To UBound(aLinks)
MsgBox "Link " & i & ":" & Chr(13) & aLinks(i)
Next i
End If
这只是向我展示了我在编辑链接中可以看到的三个 .
我在工作簿中搜索了它试图让我找到该文件的链接的名称,没有任何内容 .
有没有人见过这个或有任何想法?它让我难过,并且本来应该是一件非常令人沮丧的简单工作 .
1 回答
工作簿之间的链接可以通过多种方式创建(有意或无意):
Excel用户通常熟悉(1),并搜索引用链接的文本,但这不会检测图表和范围名称中的链接 .
Bill Manville的findlink是寻找和/或删除这些链接的出色解决方案 .
下载插件,选择带有链接的文件,从Excel运行插件(Bill的页面上的说明)然后
在下拉框中选择您要查找的参考
我选择找到的选项,然后列出链接
各种链接类型的样本
样本输出
几年前,我在编写自己的链接查找器时遇到了麻烦,下面的代码以防它被证明有用
码