【发布时间】:2017-06-12 08:25:22
【问题描述】:
我有这段代码可以下载一个 excel 文件,但是我该如何将这个文件中的数据传输到我正在运行宏的 excel 文件中。你会注意到这个站点提供了一个 url 来直接下载文件,但我试图弄清楚如何在不走这条路线的情况下做到这一点,因为另一个项目需要它。
任何帮助将不胜感激。
Sub GetData()
Dim IE As InternetExplorer
Dim HTMLDoc As HTMLDocument
Dim objElement As HTMLObjectElement
Set IE = New InternetExplorer
With IE
.Visible = True
.Navigate "http://www.housepriceindex.ca/default.aspx"
While .Busy Or .ReadyState <> READYSTATE_COMPLETE: Wend
.Document.getElementById("lnkTelecharger2").Click
While .Busy Or .ReadyState <> READYSTATE_COMPLETE: Wend
Set HTMLDoc = .Document
Set objElement = HTMLDoc.getElementById("txtEmailDisclaimerEN")
objElement.Value = "Email Address"
Set objElement = HTMLDoc.getElementById("lnkAcceptDisclaimerEN")
objElement.Click
' ... Get CSV somehow ...
.Quit
End With
Set IE = Nothing
End Sub
【问题讨论】:
-
你知道 CSV 保存在哪里吗?如果是这样,您可以通过 VBA 打开它并提取数据,不是吗?或者您的问题是如何在线访问 CSV 并获取数据,而不将其保存在本地?
-
@BruceWayne 如果您知道如何获取数据而不将其保存在本地,那就太好了。如果没有,知道如何使用 vba 访问 CSV 对我来说仍然非常有用。
-
您知道 CSV 保存在哪里吗?如果是这样,请启动宏记录器,然后打开 CSV,然后将数据复制/粘贴到 Excel 文件中。应该可以的,不是吗?