我正在寻找有关如何实现将基于Web的XML数据导入电子表格的方法的想法。理想的解决方案是每次打开时都会更新电子表格,只需很少或没有用户交互(例如,我不想告诉人们运行宏)。
但是,我的第一个想法(也可能是我最终会想到的)是一个Perl脚本,它下载XML,解析它并吐出电子表格 - 这不会更新电子表格而且我会有在某种类型的时间表上生成文档(是的,我更喜欢完全自动化并编写自己的工作:))。我(我想)想要的是用于接受URI的XML的odbc,这可能是理想的。这样,也许我可以将XPath映射到列,电子表格每次打开时都会自动更新。或者,也许在VBA中有一种方法可以获取URI并解析XML并在工作簿打开时运行它?
答案 0 :(得分:0)
xml文件在哪里?这个位置修复了吗?
如果是,您可以在Excel中为此xml文件创建一个dataconnection。
然后设置xml连接以在excel文件打开时刷新。
答案 1 :(得分:0)
使用DOM解析XML文件,然后将相关值吐出到工作表中。这是一个简单的工作示例,可以帮助您入门:
Dim d As DOMDocument
Dim n As IXMLDOMNode
Dim s As String
Set d = New DOMDocument
d.async = False
d.Load "http://www.democracynow.org/podcast-video.xml" ' or "C:\myfile.xml"
Set n = d.SelectSingleNode("//channel/description")
s = n.Text
Range("A1") = s
这种早期绑定需要一个参考集如下: 工具>参考文献...> Microsoft XML
请注意d.async = False
强制加载完成后再继续;这在加载远程文件时尤为重要。
你想要
每次打开时都会更新电子表格,只需很少或没有用户互动(即,我不想告诉人们运行宏)。“
然后将宏放入Workbook_Open
事件中!这就是它的用途。