我正在尝试修改Web查询连接字符串
使用VBA,但是我在网上找到的所有答案都提供了需要QueryTable的解决方案,但是由于this post explains的原因,我的工作簿中没有QueryTable。我所拥有的是具有XML Map Properties的列表对象。
我尝试使用外部数据范围查询表,
但是格式是通过按字母顺序修改的列标题来实现的。
理想情况下,我只想修改现有连接字符串上的GUID(因为它们会过期并且需要定期更新),以便它可以保留源中的XML格式。如果那是不可能的,而我唯一的选择是利用QueryTable,那么我想要一种格式化QueryTable的结果的格式,以使列标题不包含“ / row /@”。
答案 0 :(得分: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,因为这是一个不能编辑的只读字段。所有其他解决方案都着重于尝试修改查询表(使用导入向导时将不存在)