尝试控制VBA形式的IE时出现这种易怒的IE综合症。我打算打开一个网站并查找特定文件(例如XLS),然后下载。
我的代码:
Dim IE as InternetExplorer ' I could also use "Object" here
Dim HTMLDoc as HTMLDocument
Dim OHTML_Element as IHTMLElement
Set IE = New InternetExplorer ' I could also use "InternetExplorerMedium" here
IE.Silent = True
IE.Navigate (sURL)
IE.Visible = True
Set HTMLDoc = IE.document
mimtype = "Microsoft Office Excel 97-2003 Worksheet"
For Each oHTML_Element In HTMLDoc.Links
If InStr(oHTML_Element.mimeType, mimtype) Then
If InStr(oHTML_Element.href, FileType) Then
' Get the SOURCE file and DESTINATION files
SRCfile = mainURL & oHTML_Element.pathname
FileName = DESTPath & oHTML_Element.nameProp
'Download the file
ret = URLDownloadToFile(0, SRCfile, FileName, 0, 0)
'See if the download happened correctly
If ret = 0 Then
'all went well
GetFile = True
Else
MsgBox "There was a problem downloading the file.", vbCritical, "DOWNLOADING ERROR!"
GetFile = False
Exit Function
End If
Exit For
End If
End If
Next oHTML_Element
现在,在过去的几个月中,这似乎相当稳定。从过去两天开始,系统将在之后挂起IE.navigate(sURL
。在调试模式下,我可以清楚地看到IE
所创建对象的所有字段,但是执行IE.navigate(sURL)
完该对象的所有字段后,该网站就会消失,但是网站确实可以正确打开。但是,此问题不是很“一致”,因此可能会消失或不会变得烦躁!这个“消失的”字段是危险的,因为在更远的地方我if
有条件检查这些字段是否为空,是否True
退出。
只是一点点背景,我使用的是Win 7,IE 11(昨天在IE 10上出现此问题之后,昨天进行了升级,之前它已经与IE 10一起使用了几个月)
拖曳WWW后,似乎有些人在遇到此问题。建议使用Stackoverflow作为解决方案MSHTML.XMLHTTP60
。所以,我尝试了
Dim IE as MSHTML2.XMLHTTP60
Dim HTMLDoc as MSHTML.HTMLDocument
Dim HTMLBod as
Set IE = new MSHTML2.XMLHTTP60
IE.open "Get", sURL, False
IE.send
Set HTMLDoc = new MSHTML.HTMLDocument
HTMLDoc.body.innerHtml = IE.responseText
???? How do I proceed further to "search" for a XLS file and gets its "href" link?
我尝试HTMLDoc
(使用MSHTML)HTMLDoc
(通过Internet观察器)查看数据(通过“监视窗口”)和(使用InternetExplorer),数据似乎并不相同。因此,我之前的“搜索mime类型和href并下载”程序将无法正常工作。
如果有人可以提供一些帮助,我将不胜感激。我正在寻找一种解决方案,该解决方案将帮助我纠正与不一致的行为,InternetExplorer
或者使用MSHTML2
好吧……经过48个小时的苦苦挣扎,拖曳了网络,却没有找到能解决我的dim IE as InternetExplorer
类型对象问题的东西,我终于“食指”般解决了IE.Navigate(url)
崩溃问题。
该错误似乎是由于IE浏览器中的某些“错误”设置而发生的,您可能自己更改了该设置或某些附加组件,或者某些其他操作可能更改了这些设置。万能的“ RESET”来抢救!在IE的“ Internet选项”对话框中有一个“重置”按钮,它将IE重置为标准设置,并且在执行此操作后所有问题均消失了!!!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句