如何在Excel工作簿中find链接的位置?

我有一本Excel书,打开时会给出警告:

This workbook contains links to other data sources. 

我想删除所有这些链接,以便不会触发警告。 认为任何外部链接的forms是'[workbook path]'!address我用这个代码:

 Sub ListLinks() Dim wb As Workbook Dim link As Variant Set wb = ThisWorkbook For Each link In wb.LinkSources(xlExcelLinks) Debug.Print link Next link End Sub 

这返回一个文件path:

 \\somePath\xyz\aWorkbook.xlsm 

我使用Ctrl + F在工作簿中search了该string的所有公式,但没有返回任何结果。 我如何find并删除此链接?

您的工作簿可以通过指向另一个工作簿的命名范围进行链接。 链接工作簿的公式search可能找不到任何内容,因为该链接隐藏在名称中。

检查您的命名范围的其他工作簿的链接。

打破这些联系是不足以压制警告的。 在“ 编辑链接”窗口中,单击“ 启动提示” ,并将单选button设置为“不显示警报并且不更新自动链接”。 这成功地阻止了警告的出现。

以下循环应该工作。

 Dim intCounter As Integer Dim varLink As Variant 'Define variable as an Excel link type. varLink = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks) 'Are there any links? If IsArray(varLink) = False Then Exit Sub End If 'Break the links in the active workbook. For intCounter = 1 To UBound(varLink) ActiveWorkbook.BreakLink _ Name:=varLink(intCounter), _ Type:=xlLinkTypeExcelLinks Next intCounter 

删除了上述所有链接后,我遇到了这个问题,然后我发现我的一些validation数据是指其他工作簿。 纠正这个问题后,问题消失了。