如何获取现有连接的外部文件的文件名- Excel



我导入一个外部文本文件(.csv)到我的excel工作表名为"SourceData"。

该连接称为"Data"。每次刷新工作簿时,excel都会让我选择源文件。我的源文件数据结构相同,它们是由其他数据库自动生成的:

           REPL_STATS_010314130000.CSV
           REPL_STATS_030314060001.CSV
           ....
我的问题是:
  • 我怎么能得到我的外部csv文件的文件名,目前导入到我的工作表"SourceData",所以当我刷新连接,这个名字显示在一个单元格(例如A1)在另一个名为"摘要"

例如:我点击全部刷新后,选择文件"repl_stats_01031413000 . csv"来更新我的数据源,那么单元格A1将显示"repl_stats_01031413000 . csv"

几天来我一直在努力寻找解决办法,但我还是没有办法。

你能建议的形式VBA代码,可以得到这个信息?

提前感谢!

感谢Tim Williams的建议,我编写了以下代码,并将此代码放在Sheet1(SourceData)中:

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim ConSource As String
   ConSource = Worksheets("SourceData").QueryTables("Data").Connection
   Worksheets("Summary").Range("A1").Value = "Source:   " & Right(ConSource, Len(ConSource) - InStrRev(ConSource, ""))
   ConSource = ""
End Sub

最新更新