使用 VBA 变量定义 Power Query 源时出现问题

问题描述 投票:0回答:1

**PDF 路径是 PDF 的文件路径,为了保密而删除 - 代码可以使用此路径。

我无法将变量插入此 VBA 代码的最后一行。本质上,我需要从不同的 PDF 中获取特定的表格。这些 PDF 的每一页都有 2 个表格,我总是需要第二个表格,而不是第一个表格。用户输入 PDF 有多少页,该循环将运行并查询必要的表。 无论它在哪里显示Table002,我都需要它是变量Table_No,这样当它返回循环时,它会获取Table004,然后获取Table 006等等,但我不断遇到不同的错误。该代码按第一个循环的预期工作,我的麻烦是让它抓取新表而不是它已经抓取的表。有人可以帮忙吗?我的变量需要是不同的数据类型吗?

Dim Table_Max As Integer
Dim Ack_Pages As Integer
Dim Table_No As String

Ack_Pages = InputBox("Enter the number of pages on the acknowledgement file.")
Table_Max = Ack_Pages * 2

For i = 2 To Table_Max Step 2
    Table_No = "Table00" & i
        ActiveWorkbook.Queries.Add Name:=Table_No, Formula:= _
            "let" & Chr(13) & "" & Chr(10) & "    Source = Pdf.Tables(File.Contents(""" & PDFPath & """), [Implementation=""1.3""])," & Chr(13) & "" & Chr(10) & "    Table002 = Source{[Id=""Table002""]}[Data]," & Chr(13) & "" & Chr(10) & "    #""Changed Type"" = Table.TransformColumnTypes(Table002,{{""Column1"", type text}, {""Column2"", type text}, {""Column3"", type text}, {""Column4"", type text}, {""Column5"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Changed Type"""
excel vba for-loop dynamic powerquery
1个回答
0
投票
  • Id="Tablexxx"
    应更改如下
ActiveWorkbook.Queries.Add Name:=Table_No, Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Pdf.Tables(File.Contents(""" & PDFPath & """), [Implementation=""1.3""])," & Chr(13) & "" & Chr(10) & "    Table002 = Source{[Id=""" & Table_No & """]}[Data]," & Chr(13) & "" & Chr(10) & "    #""Changed Type"" = Table.TransformColumnTypes(Table002,{{""Column1"", type text}, {""Column2"", type text}, {""Column3"", type text}, {""Column4"", type text}, {""Column5"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Changed Type"""
© www.soinside.com 2019 - 2024. All rights reserved.