0

我正在尝试修改 Web Query 连接字符串

Web 查询连接字符串

使用 VBA,但是我在网上找到的所有答案都给出了需要 QueryTable 的解决方案,但是由于这篇文章解释的原因,我的工作簿没有 QueryTable 。我拥有的是一个带有 XML Map Properties 的列表对象。

XML 映射属性

我试过使用外部数据范围查询表, 外部数据范围查询表

但格式是通过按字母顺序修改的列标题来实现的。

按字母顺序修改列标题

理想情况下,我只想修改现有连接字符串上的 GUID(因为它们已过期并且需要定期更新),以便它保留来自我的源的 XML 格式。如果这不可能,而我唯一的选择是使用 QueryTable,那么我想要一种方法来格式化 QueryTable 的结果,以便列标题不包含“/row/@”。

4

1 回答 1

0

我在这里找到了一个可行的解决方案:https ://www.mrexcel.com/forum/excel-questions/750075-vba-update-connection-path-xml-data.html

最终工作代码:

Sub RefreshXML_Click()
Dim GetProjects As String: GetProjects = "http://api.aceproject.com/?fct=getprojects&guid=" & Cerberus.GUID & "&Filtercompletedproject=False&projecttemplate=0&assignedonly=True&format=xml"
With Sheets("GetProjects").ListObjects("Table1").XmlMap.DataBinding
    .ClearSettings
    .LoadSettings GetProjects
    .Refresh
End With
End Sub

解决方案是清除然后重新加载 DataBinding,因为它是一个无法编辑的只读字段。所有其他解决方案都专注于尝试修改查询表(使用导入向导时不存在)

于 2019-04-29T17:01:37.580 回答