通过VBA Macro从服务器下载Excel数据的最快方法

时间:2016-06-30 15:36:59

标签: excel vba excel-vba

我编写了一个从在线目录下载数据的宏。该目录包含每个日期的文件:

  • 29062016.csv

  • 28062016.csv

  • 27062016.csv

..等等

我的宏使我的电子表格与这些数据保持同步,并在检测到文件丢失时下载并将其全部复制到单个工作表中。到目前为止一切都很好。

我在循环中使用以下代码来下载用户希望更新的每一天(以及一些保持行数的控制变量)。

Dim thisWb, downloadWb As Workbook
Set thisWb = ActiveWorkbook
Set downloadWb = Workbooks.Open("ftp://myusername:mypassword@address.com/directory/" & dateToDownload &".csv")
downloadWb.Worksheets(1).Range("A1:M" & lastRow).Copy Destination:=thisWb.Worksheets("Data").Range("A" & CStr(rows))
downloadWb.Close

我的问题是这种方法很慢,因为excel必须单独打开每个文件然后复制粘贴,特别是在几天没有更新时。

我可以要求我的客户更改他们的数据Feed,所以我想知道是否有人可以通过更改Feed或我的代码来推荐一种方法来加速数据下载?从包含所有数据的单个文件下载和更新是否会更快(随着时间的推移可能变得非常大)?不同的格式.txt可能吗? http请求会更有效吗?

由于

0 个答案:

没有答案