使用Excel VBA打开网页,然后保存
我正在尝试编写一个宏,它将打开给定的URL并执行文件>>另存为。。。URL在屏幕上返回一个XML输出,我想保存它。然后我可以让Excel打开文件并处理它(这部分我可以做) 下面是我想做的基本操作,除了SaveAs位外,它还能工作:使用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
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文件的方法,因此我将使用该方法。