内部有一习题集网页,其URL类似http://148.36.19.209:81/exam/Creater.aspx?paper_id73/xuhao=1,我要做的就是顺序打开http://148.36.19.209:81/exam/Creater.aspx?paper_id73/xuhao=2直到xuhao=100的网页,并取其网页源码存入文本文件中,
如果每个都写
if url="http://148.36.19.209:81/exam/Creater.aspx?paper_id73/xuhao=1" then  
print #1,pDisp.document.documentelement.outerhtml 
webbrowser1.Navigate "http://148.36.19.209:81/exam/Creater.aspx?paper_id73/xuhao=2"
end if 
这样就要写一百个这样的句子,那位给个简单的方法

解决方案 »

  1.   

    for i= 0 to 99
    url="http://148.36.19.209:81/exam/Creater.aspx?paper_id73/xuhao=" & i
    next
      

  2.   

    for i= 1 to 100
        url="http://148.36.19.209:81/exam/Creater.aspx?paper_id73/xuhao=" & i
        print #1,getHtmlStr(url)
    next
    Private Function getHtmlStr$(strUrl$)
        Dim XmlHttp As Object
        Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
        XmlHttp.Open "POST", strUrl, False
        XmlHttp.send
        getHtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
        Set XmlHttp = Nothing
    End Function
      

  3.   

    不行啊,编译错误:ByRef参数错误
      

  4.   

    for i= 1 to 100
        url="http://148.36.19.209:81/exam/Creater.aspx?paper_id73/xuhao=" & i
        print #1,getHtmlStr(url)
    next
    Private Function getHtmlStr$(byval strUrl$)
        Dim XmlHttp As Object
        Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
        XmlHttp.Open "POST", strUrl, False
        XmlHttp.send
        getHtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
        Set XmlHttp = Nothing
    End Function
      

  5.   


    Private Function getHtmlStr$(ByVal strUrl$)
      

  6.   

    那是因为网页格式是UTF8的,用下面的代码:
    for i= 1 to 100
        url="http://148.36.19.209:81/exam/Creater.aspx?paper_id73/xuhao=" & i
        print #1,getHtmlStr(url)
    nextPublic Function getHtmlStr(byval strUrl As String) As String
        Dim XmlHttp As Object
        Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
        
        XmlHttp.Open "GET", strUrl, False
        On Error GoTo Err_net
        XmlHttp.send
        
        getHtmlStr = BytesToBstr(XmlHttp.ResponseBody, "UTF-8")
        
        Set XmlHttp = Nothing
    Err_net:
    End Function
    Private Function BytesToBstr(strBody, codeBase) As String
        Dim objStream As Object
        Set objStream = CreateObject("Adodb.Stream")
        objStream.Type = 1
        objStream.Mode = 3
        objStream.Open
        objStream.Write strBody
        objStream.position = 0
        objStream.Type = 2
        objStream.Charset = codeBase
        BytesToBstr = objStream.ReadText
        objStream.Close
        Set objStream = Nothing
    End Function