【问题标题】:Is there a way to export a list of all links within an excel document有没有办法导出excel文档中所有链接的列表
【发布时间】:2021-03-05 19:40:47
【问题描述】:

作为自动化项目的一部分,我正在自动更新 excel 文件中的值。有多个文件要更新,每个文件都有指向其他文件的链接,通常链接到大约 20 个文件。

为了简化自动化并优化流程,我需要每个“要更新的文档”链接到的所有文件的列表。

是否有可以使用其他工具导出 Excel 文件中的链接列表的宏。即使只是将其打印到 excel 文件本身的某个位置也会很有用,并且允许我映射所有文件的链接。

为清楚起见: 有许多引用外部工作簿的公式。 一个这样的公式的例子:

VLOOKUP($D$7,'C:\DATA\[BalanceSheet-LevelsFlows-VO-M.xlsx]Position'!$A$1:$HA$9999,F4,FALSE)

一个文件中有超过 36000 个引用外部工作簿的公式。引用了 8 个外部工作簿。

我的目标是获取这些外部工作簿的列表。

虽然在这种情况下手动完成会很快,但我有超过 30 个文件需要列出外部参考,其中一些参考超过 30 个外部工作簿。

这是一个一次性的映射过程,它不需要很优雅,只是比手动完成要快。

【问题讨论】:

  • 您是指超链接(用户可以点击的地方)还是公式中对其他工作簿的引用?
  • 在公式中引用其他工作簿。
  • 您能否分享一些可以在公式中找到的示例以及您希望返回的内容?这个列表究竟会导出到哪里?
  • 是否有特定的命名标准可以让您执行find(查看公式)命令?
  • 有一些代码(例如vbaexpress.com/kb/getarticle.php?kb_id=409)可以创建一个包含工作簿所有公式的工作表。执行它并设置过滤器以仅显示包含文件名的公式(例如.xls

标签: excel vba


【解决方案1】:

链接来源

守则

Option Explicit

Sub testLinkSources()
    Dim wb As Workbook: Set wb = ThisWorkbook
    Dim Data As Variant: Data = getLinkSources(wb)
    If Not IsEmpty(Data) Then
        Dim ws As Worksheet: Set ws = wb.Worksheets.Add
        ws.Range("A1").Resize(UBound(Data)).Value = Data
    End If
    Dim arr As Variant: arr = LinkSourcesToArray(wb)
    If Not IsEmpty(arr) Then
        Debug.Print Join(arr, vbLf)
    End If
End Sub

Function getLinkSources( _
    wb As Workbook) _
As Variant
    If Not IsEmpty(wb.LinkSources) Then
        Dim arr() As Variant: arr = wb.LinkSources
        Dim rCount As Long: rCount = UBound(arr)
        Dim Data As Variant: ReDim Data(1 To rCount, 1 To 1)
        Dim r As Long
        For r = 1 To rCount
            Data(r, 1) = arr(r)
        Next r
        getLinkSources = Data
    End If
End Function

Function LinkSourcesToArray( _
    wb As Workbook) _
As Variant
    If Not IsEmpty(wb.LinkSources) Then
        LinkSourcesToArray = wb.LinkSources
    End If
End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 2014-03-28
    • 2022-01-14
    • 2013-12-01
    • 1970-01-01
    • 2021-07-12
    • 2017-11-07
    相关资源
    最近更新 更多