我有一个片段,可以查询目录中的文件名。它工作得很好,但是这个目录一直在变化,我必须手动更新代码中的源链接。我想知道是否可以以某种方式将ActiveWorkbook.path(或任何其他解决方法)并入此特定构造中,而不是每次我必须在新文件夹中进行查询时都重新键入路径
ActiveWorkbook.Queries.Add Name:="Stage 6", Formula:= _
Source = Folder.Files(""C:\Users\Romanov\Desktop\TESTBOX\INDEX2"")
答案 0 :(得分:0)
下面是一个快速示例,显示了如何解决此问题:
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用户界面创建的字符串。