1

我正在寻找有关如何实现将基于 Web 的 XML 数据放入电子表格的方法的想法。理想的解决方案是在每次打开电子表格时更新电子表格,几乎没有用户交互(即,我宁愿不必告诉人们运行宏)。

然而,我的第一个想法(可能是我最终会想到的)是一个 Perl 脚本,它下载 XML、解析它并输出一个电子表格——这不会更新电子表格,我必须生成记录某种类型的时间表(是的,我更喜欢完全自动化和编码自己的工作:))。我(我想我)想要的是接受 URI 的 XML 的 odbc,这可能是理想的。这样,也许我可以将 XPath 映射到列,并且电子表格每次打开时都会自动更新。或者,也许 VBA 中有一种方法可以获取 URI 并解析 XML 并在打开工作簿时运行它?

4

2 回答 2

0

xml文件在哪里?这个位置修复了吗?

如果是,您可以在 Excel 中创建到此 xml 文件的数据连接。

然后设置 xml 连接以在 excel 文件打开时刷新。

于 2012-06-26T08:28:48.887 回答
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事件中!这就是它的用途。

于 2012-06-26T10:27:05.780 回答