在Excel中从Web刷新XML数据
我正在使用Excel 2010将表格链接到我的服务器上的XML文件。 我想将Excel文件分发给一组人,并且每次在服务器上更新XML文件时都要更新它。
在Excel中,我使用“数据”,“从Web”拉动数据,然后inputXML文件的path。
Excel然后build立一个包含所有数据的表,但是如果在服务器上更新了XML文件,即使我在表上单击“刷新”或“刷新XML数据”,数据仍然是静态的。
它应该能够下载包括新列的新数据到表中,如果有的话。
有没有办法做到这一点?
我不是VBA的专家,在这里我会做什么1.打开Excel文件时刷新,这可以通过
Sub RefreshData() ActiveWorkbook.RefreshAll ' or you can give specific workbook and worksheet identification End Sub Private Sub Workbook_Open() 'Call Refresh Data Subroutine when opening file RefreshData end sub
-
如果文件中有多个工作表,则可以使用工作表激活事件处理程序。
Private Sub Worksheet_Activate()
'打开文件RefreshData时调用Refresh Data Subroutine
结束小组 -
只要服务器得到更新就更新MSexcel,没有任何意义,因为只有在文件打开后才能查看数据,但是如果您的macros已用于实时监控,并且24小时保持打开状态,则不会从服务器发送事件并捕捉在VBA,我build议实施轮询每天/小时/分钟/秒(刷新轮询间隔)取决于您的刷新要求criticality。
昏暗的TimeToRun
Sub auto_open()Call Schedulerefresh End Sub
Sub Schedulerefersh()TimeToRun = Now + TimeValue(“00:00:10”)
Application.OnTime TimeToRun, "XMLRefersh"
结束小组
Sub XMLRefresh()
'打开文件RefreshData Call ScheduleRefresh End Sub时调用Refresh Data Subroutine
Sub auto_close()On Error Resume Next Application.OnTime TimeToRun,“XMLRefresh”,False End Sub