Получить текущий путь к каталогу при добавлении запросов - PullRequest
0 голосов
/ 25 января 2019

У меня есть фрагмент, который делает запрос для имен файлов в каталоге.Он работает просто отлично, но этот каталог все время меняется, и мне приходится вручную обновлять ссылку на источник в коде.Интересно, смогу ли я как-то включить ActiveWorkbook.path (или любой другой обходной путь) в эту конкретную конструкцию вместо того, чтобы перепечатывать путь каждый раз, когда мне нужно сделать запрос в новой папке

ActiveWorkbook.Queries.Add Name:="Stage 6", Formula:= _
    Source = Folder.Files(""C:\Users\Romanov\Desktop\TESTBOX\INDEX2"")

1 Ответ

0 голосов
/ 25 января 2019

Вот краткий пример, показывающий, как вы можете это сделать:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...