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

使用Excel VBA打开网页,然后保存,excel,download,vba,Excel,Download,Vba,我正在尝试编写一个宏,它将打开给定的URL并执行文件>>另存为。。。URL在屏幕上返回一个XML输出,我想保存它。然后我可以让Excel打开文件并处理它(这部分我可以做) 下面是我想做的基本操作,除了SaveAs位外,它还能工作: Sub Main() REM Reference to "Microsoft Internet Controls" is being used. Dim objIE As InternetExplorer Set objIE = New InternetExplor

我正在尝试编写一个宏,它将打开给定的URL并执行文件>>另存为。。。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

简单的“保存”是好的,如果这是所有的工作。只是想找到一种在屏幕上保存输出的方法。谢谢

也许像这样的东西能帮上忙

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的引用。

可能是因为
objIE
没有
SaveAs
属性?
GET
ting该XML不可能吗?BK,谢谢。不幸的是,用户没有告诉我实际的URL在第一次登录之前不会执行,这是嵌入凭据无法完成的:-(很抱歉浪费您的时间,但感谢您的帮助,我相信我可以在其他地方使用此方法。我使用本地保存的文件进行了测试,并使用了该方法。您的代码不起作用,但是,oXML.responseText确实包含该文件的文本,所以这很好。无论如何,我有另一种读取和解析XML文件的方法,因此我将使用该方法。