使用 VBA 复制和修改连接
Posted
技术标签:
【中文标题】使用 VBA 复制和修改连接【英文标题】:Copying and Modyfing the Connection with VBA 【发布时间】:2020-06-10 08:13:37 【问题描述】:我目前正在使用 VBA 构建一个解决方案来复制我现有的查询(API 查询)并根据原始查询的列中的值更改其参数。
我正在使用 p1 变量,其中包含要在 API URL 中使用的循环列值
结果应该是多个工作表,每个工作表都有一个查询,vba 代码应该在我的第一个查询中循环遍历某个列,然后将此值传递给每个新查询。
我遇到了一个问题。我不知道它是否存在区域格式问题,但我无法真正将查询粘贴到 Queries.Add 方法中。我很确定我正确格式化了“”但是:
您可以看到编辑器将这部分代码显示为红色(在 Notepadd++ 中,VBA 格式很好)
这是我的代码:
mFormula =
"let" & Chr(13) & "" & Chr(10) & " Source = Json.Document(Web.Contents(""https://rejestr.io/api/v1/krs/"" & p1 & ""/relations"", [Headers=[Authorization=""xxxxxxx""]]))," & Chr(13) & "" & Chr(10) &" #""Converted to Table"" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error), " & Chr(13) & "" & Chr(10) & " #""Expanded Column1"" = Table.ExpandRecordColumn(#""Con" & _
"verted to Table"", ""Column1"", ""address"", ""business_insert_date"", ""ceo"", ""current_relations_count"", ""data_fetched_at"", ""first_entry_date"", ""historical_relations_count"", ""id"", ""is_opp"", ""is_removed"", ""krs"", ""last_entry_date"", ""last_entry_no"", ""last_state_entry_date"", ""last_state_entry_no"", ""legal_form"", ""name"", ""name_short"", ""nip"", ""regon"", ""type"", ""w_likwidacji"", ""w_upadlo" & _
"sci"", ""w_zawieszeniu"", ""relations"", ""birthday"", ""first_name"", ""krs_person_id"", ""last_name"", ""organizations_count"", ""second_names"", ""sex"", ""Column1.address"", ""Column1.business_insert_date"", ""Column1.ceo"", ""Column1.current_relations_count"", ""Column1.data_fetched_at"", ""Column1.first_entry_date"", ""Column1.historical_relations_count"", ""Column1.id"", ""Column1.is_opp"", ""Column1.is_rem" & _
"oved"", ""Column1.krs"", ""Column1.last_entry_date"", ""Column1.last_entry_no"", ""Column1.last_state_entry_date"", ""Column1.last_state_entry_no"", ""Column1.legal_form"", ""Column1.name"", ""Column1.name_short"", ""Column1.nip"", ""Column1.regon"", ""Column1.type"", ""Column1.w_likwidacji"", ""Column1.w_upadlosci"", ""Column1.w_zawieszeniu"", ""Column1.relations"", ""Column1.birthday"", ""Column1.first_name"", ""Column1.krs_person_id"", ""Column1.last_name"", ""Column1.organizations_count"", ""Column1.second_names"", ""Column1.sex"")" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Renamed Columns3"""
另外,是否完全可以从第一个查询动态传递多个变量以创建多个查询到 API 服务?也许有人已经做过类似的事情了?
非常感谢
亚历克斯
【问题讨论】:
您可以将chr(13) &""&chr(10)
替换为vbCrLf
。更短更易读
【参考方案1】:
mFormula =
行中需要一个续行标记 (_
):
mFormula = _
【讨论】:
很高兴为您提供帮助,欢迎来到 Stack Overflow。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。以上是关于使用 VBA 复制和修改连接的主要内容,如果未能解决你的问题,请参考以下文章