如何使用VBA自动化IE中的下载对话框?

时间:2015-02-21 20:58:36

标签: excel vba excel-vba excel-2010 internet-explorer-11

我在这里全新,只使用VBA大约6个月。毋庸置疑,到目前为止,这里和其他一些地方的论坛帖子对我帮助很大。

我正在尝试开发一个脚本来从Morningstar获取数据并将其复制到excel(请注意这是我个人的非商业用途)。我确信我可以编写大部分所需的VBA,但我仍然坚持自动选择" save"弹出IE下载对话框时。我已经看到了一些相关的帖子,但是到目前为止我还没有能够进行任何反向工程,非常感谢任何帮助!

到目前为止,我对此部分的代码如下:

Sub Download_Morningstar_Data()
'
'  Download Morningstar Data
'

    my_Page = "http://financials.morningstar.com/balance-sheet/bs.html?t=SCCO&region=usa&culture=en-US"
    Set IE = CreateObject("InternetExplorer.Application")

    With IE
        .Visible = True
        .Navigate my_Page
        Do Until .ReadyState = 4: DoEvents: Loop
    End With

   Application.EnableEvents = True
   IE.ExecWB 17, 0
   Do Until IE.ReadyState = 4: DoEvents: Loop
   IE.ExecWB 12, 2

' click the "export" button
   IE.Document.parentWindow.execScript "SRT_stocFund.Export()"

那就是我被卡住的地方......

请注意,我使用的是Windows 7,Excel 2010和IE11。

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用

Workbooks.Open(“http://financials.morningstar.com/ajax/ReportProcess4CSV.html?&t=XNYS:SCCO&region=usa&culture=en-US&cur=&reportType=bs&period=12&dataType=A&order=asc&columnYear=5&curYearPart=1st5year&rounding=3&view=raw&r=404338&denominatorView=raw&number=3”)

仔细查看URL,您几乎可以更改URL中的每个设置。

在IE或Chrome调试模式下查看晨星页面,您可以轻松找到创建CSV文件的URL(此处使用的URL)。

enter image description here