使用Excel VBA,打开网页,然后保存

时间:2013-12-06 03:17:40

标签: excel-vba download vba excel

我正在尝试编写一个宏来打开一个给定的URL并执行一个文件>> SaveAs ... URL返回屏幕上的XML输出,我想保存它。然后我可以让Excel打开文件并对其进行处理(这部分我可以做)。

这基本上是我想要做的,除了SaveAs位之外它还可以工作:

Sub Main()
REM Reference to "Microsoft Internet Controls" is being used.
Dim objIE As InternetExplorer

Set objIE = New InternetExplorer

With objIE
    .Visible = True
    .navigate "http://exampleURL.comany.com/ServerOutput/XmlFile.xml"
    Do Until .readyState = 4
        DoEvents
    Loop

    REM The next line fails
    .SaveAs "C:\temp\test.xml"

    .Application.Quit
End With

Set objIE = Nothing
End Sub

如果这一切都有效,那么简单的“保存”就没问题了。只是想找到一种方法来保存屏幕上的输出。谢谢!

1 个答案:

答案 0 :(得分:1)

也许这样的事情会有所帮助吗?

Public Sub GetXML()

    Dim oXML As New MSXML2.XMLHTTP60
    Dim xURL As String

    'Retrieve XML.
    xURL = "http://exampleURL.comany.com/ServerOutput/XmlFile.xml"
    oXML.Open "GET", xURL, False
    oXML.send

    'Put into sheet.
    ThisWorkbook.Sheets("Sheet1").Range("A1").Value = oXML.responseXML.XML

End Sub

编辑:确保为此启用了对Microsoft XML, v3.0的引用。