【发布时间】:2021-02-03 16:57:52
【问题描述】:
我正在通过电源查询将 Excel 工作簿连接到 VBA 宏。宏应选择用户目录中与文件名上正确日期匹配的文件。
路径应该先由变量生成:
f = ThisWorkbook.Path & "\Data\details_" & Month([Date].Value) & "." & Day([Date].Value) & ".xlsx"
然后,应该将变量放入 PowerQuery 中:
ActiveWorkbook.Queries.Add Name:="PortalData", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Excel.Workbook(File.Contents(f), null, true)," & Chr(13) & "" & Chr(10) & " Table1_Table = Source{[Item=""Table1"",Kind=""Table""]}[Data]," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes(Table1_Table,{...})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Changed Type"""
File.Contents(f) 搜索名为“f”的文件而不是路径。 File.Contents() 最初包含双引号中的路径,但将双引号添加到 f 不起作用。
【问题讨论】:
-
你需要与
&连接。 -
@BigBen 我将它添加为 File.Contents(""&f&"") 但我收到有效绝对路径详细信息的错误 &f&
-
第一步。
Debug.Print您的连接字符串并在即时窗口中检查。 -
@BigBen 好的,所以运行 Debug.Print f = path 显示为 True。 Debug.Print 路径显示 C:\Users\XXXXX\Downloads\V3.3 Automated Review File 1.28\Folder1\Portal Data\details_2.3.xlsx\ –
-
我想我的意思是
Debug.Print在Formula:= _之后的所有内容,即实际的M 查询,而不仅仅是路径部分。
标签: excel vba powerquery