Как использовать строку в качестве источника при добавлении PowerQuery - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь добавить строку filename в качестве источника для добавления соединения PowerQuery, но по какой-то причине Excel не обнаруживает строку? Любые идеи? Если я добавлю полный путь как текст, он будет работать хорошо.

Моя ошибка в строке Csv.Document(File.Contents(filename)

Sub AddQuery()
Dim newdate As Range
Set newdate = Range("E2")
Do Until Dir("D:\Users\rosenberggitty2\Dropbox\Personal\Done\Options\" & newdate.Text & ".csv") <> vbNullString
newdate = newdate + 1
Worksheets(1).Columns(5).AutoFit
Loop

Dim filename As String
filename = "D:\Users\rosenberggitty2\Dropbox\Personal\Done\Options\" & newdate.Text & ".csv"

Dim myConnection As WorkbookConnection
Dim mFormula As String
mFormula = _
"let Source = Csv.Document(File.Contents(filename),null,""#(tab)"",null,1252) in Source"
query1 = ActiveWorkbook.Queries.Add(newdate, mFormula)

End Sub

1 Ответ

0 голосов
/ 28 апреля 2020

Разобрался! Требуется иметь 3 набора кавычек для правильного распознавания пути. File.Contents(""" & filename & """) Вот мой обновленный код (включает некоторые изменения в запросе).

Sub AddQuery()
Dim newdate As Range
Set newdate = Range("E2")
Do Until Dir("D:\Users\rosenberggitty2\Dropbox\Personal\Done\Options\" & newdate.Text & ".csv") <> vbNullString
newdate = newdate + 1
Worksheets(1).Columns(5).AutoFit
Loop

Dim filename As String
filename = "D:\Users\rosenberggitty2\Dropbox\Personal\Done\Options\" & newdate.Text & ".csv"


ActiveWorkbook.Queries.Add Name:=newdate, Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Csv.Document(File.Contents(""" & filename & """),[Delimiter="","", Columns=26, Encoding=1252, QuoteStyle=QuoteStyle.None])," & Chr(13) & "" & Chr(10) & "    #""Change Type"" = Table.TransformColumnTypes(Source,{{""Column1"", type text}, {""Column2"", type text}, {""Column3"", type text}, {""Column4"", type text}, {""Column5"", type text}, {" & _
        """Column6"", type text}, {""Column7"", type text}, {""Column8"", type text}, {""Column9"", type text}, {""Column10"", type text}, {""Column11"", type text}, {""Column12"", type text}, {""Column13"", type text}, {""Column14"", type text}, {""Column15"", type text}, {""Column16"", type text}, {""Column17"", type text}, {""Column18"", type text}, {""Column19"", type te" & _
        "xt}, {""Column20"", type text}, {""Column21"", type text}, {""Column22"", type text}, {""Column23"", type text}, {""Column24"", type text}, {""Column25"", type text}, {""Column26"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Change Type"""


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