Sub getHTML(url_str As String)
Dim doc As Object
Web.Navigate url_str
getCODE FolderName, localfiles
End SubPrivate Sub getCODE(path_name As String, localFile As String)
Dim doc As Object
If InStr(Web.Document.documentElement.innerHTML, "无法显示") > 0 Then
getHTML sUrt
End If Set doc = Web.Document
Set objhtml = doc.body.createTextRange() If Not IsNull(objhtml) Then
Open path_name & "\" & localFile For Output As #1
Print #1, objhtml.htmlText;
Close #1
End If
End Sub我是用上面两个sub 分别load网页在webbrowser控件里面显示-为了防止timeout 反复load直到load complete。然后再保存到本地指定目录中 生成txt文档。
现在发现在gethtml这个sub里面浪费了大量的时间 这个是什么问题啊 我直接用ie打开那个连接都没有那么多时间阿,有什么办法提升效率吗?
Dim doc As Object
Web.Navigate url_str
getCODE FolderName, localfiles
End SubPrivate Sub getCODE(path_name As String, localFile As String)
Dim doc As Object
If InStr(Web.Document.documentElement.innerHTML, "无法显示") > 0 Then
getHTML sUrt
End If Set doc = Web.Document
Set objhtml = doc.body.createTextRange() If Not IsNull(objhtml) Then
Open path_name & "\" & localFile For Output As #1
Print #1, objhtml.htmlText;
Close #1
End If
End Sub我是用上面两个sub 分别load网页在webbrowser控件里面显示-为了防止timeout 反复load直到load complete。然后再保存到本地指定目录中 生成txt文档。
现在发现在gethtml这个sub里面浪费了大量的时间 这个是什么问题啊 我直接用ie打开那个连接都没有那么多时间阿,有什么办法提升效率吗?
就顺便说说我的用法吧,可能对你会有帮助我试过连续加载很保存不同的页面,感觉使用Web.Navigate 之后delay一下比较有效率
Web_Browser.Navigate url_str
Web_Browser.Refresh '我发现refresh一下更有效…这个只是个人用下来的感觉
Timer1.Interval = 1000
Timer1.Enabled = True '在里面放Timer1.Enable = False
Do
DoEvents
Loop While Timer1.Enabled = TrueDo While Web_Browser.Busy
If form_quit = True Then GoTo sub_end
DoEvents
Loop
然后就可以用你那个
Set doc = Web.Document
Set objhtml = doc.body.createTextRange()进行保存了
另外,把ie设置里面高级部分的显示图片音乐之类的关闭,会大大提高效率……初学者,仅供参考……^__^