2013-08-28 40 views
1

我正在使用Excel 2010将表格链接到我的服务器上的XML文件。我希望将Excel文件分发给一组人员,并且每次在服务器上更新XML文件时都会更新它。从Excel中刷新XML数据

在Excel中,我使用“Data”,“From Web”提取数据,然后输入XML文件的路径。

Excel然后建立一个包含所有数据的表,但如果XML文件在服务器上更新,数据保持静态,即使我在表上单击“刷新”或“刷新XML数据”。

它应该能够下载包含新列的新数据到表中(如果有的话)。

有没有办法做到这一点?

回答

3

我不是在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. 做,你可以使用工作表激活事件处理程序,如果你有一个文件中的多个工作表。

    私人小组Worksheet_Activate()
    “呼叫刷新数据子程序时打开文件 RefreshData
    结束小组

  2. 更新msexcel的,一旦服务器出现了更新,是没有意义的数据将可用于只有在文件被打开后才能查看,但是如果你的宏被用于实时监控并且24小时保持打开状态,那么我建议不要从服务器发送事件并捕获VBA,而是每天/小时/分钟/秒(呼叫刷新在轮询间隔)取决于您的刷新要求的关键性。

    昏暗TimeToRun

    子auto_open() 呼叫Schedulerefresh 结束子

    子Schedulerefersh() TimeToRun =现在+ TIMEVALUE( “00:00:10”)

    Application.OnTime TimeToRun, "XMLRefersh" 
    

    End Sub

    Sub XMLRefresh()

    “呼叫刷新数据子程序打开文件 RefreshData 呼叫ScheduleRefresh 结束小组

    子AUTO_CLOSE() 时上的错误继续下一步 Application.OnTime TimeToRun, “XMLRefresh”,假 结束小组