在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 
  1. 如果文件中有多个工作表,则可以使用工作表激活事件处理程序。

    Private Sub Worksheet_Activate()
    '打开文件RefreshData时调用Refresh Data Subroutine
    结束小组

  2. 只要服务器得到更新就更新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