添加查询时获取当前目录路径



我有一个代码段,用于查询目录中的文件名。它工作得很好,但是这个目录一直在变化,我必须手动更新代码中的源链接。我想知道我是否可以以某种方式将 ActiveWorkbook.path(或任何其他解决方法)合并到这个特定的结构中,而不是每次我必须在新文件夹中进行查询时重新键入路径

ActiveWorkbook.Queries.Add Name:="Stage 6", Formula:= _
    Source = Folder.Files(""C:UsersRomanovDesktopTESTBOXINDEX2"")

下面是一个快速示例,显示了如何执行此操作:

Option Explicit
Public Sub UpdateFolderQueryFormula(ByVal psQueryName As String, ByVal psPath As String)
    ThisWorkbook.Queries(psQueryName).Formula = "let Source = Folder.Files(""" & psPath & """) in Source"
End Sub
Public Sub Test()
    UpdateFolderQueryFormula "Stage 6", ThisWorkbook.Path
End Sub

在需要时调用UpdateFolderQueryFormula,无论是在工作簿打开时,还是应用户的请求,可能使用用户提供一个或两个参数(在本例中,添加验证和错误处理)。

分配给 .Formula 时,必须提供一个正确构建的字符串,该字符串看起来就像通过 Excel 的用户界面创建的字符串一样。

最新更新