1.下面这个代码老说“要求对象”,不知道怎么回事,已经加了webbrwoser(Microsoft Internet Controls).按说“要求对象”一般就是表示有控件部件没加上吧?不知道是不是里面有什么脚本的什么东西没加上?
调试报错:“要求对象”. “Set ie = Wscript.CreateObject("InternetExplorer.Application")”这一句变黄色显示。我不会这个,看人家这样照写的。
---------
Private Sub Command1_Click()
Set ie = Wscript.CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate "http://xiaonei.com/"
Do
Wscript.Sleep 200
Loop Until ie.ReadyState = 4
ie.Document.getElementById("email").Value = "[email protected]
ie.Document.getElementById("password").Value = "1111111" 
ie.Document.getElementById("login").Click
End Sub 
-----------2.下面这段代码,老说我:  实时错误'91':对象变量或者with块未设置?
不知道是我的vb版本有问题,或者是不是必须要机器联网的时候调试才行。
有几次我联网的时候调试可以用,但是如果在不联网情况下调试就会报错,而且报错以后再拿到联网的机器上用那就也会报错,也就是说不能有报错的历史,一旦有这个历史就会永远报错。生成的exe文件也不能用。
For i = 0 To vDoc.All.length - 1   这一句,调试时变黄色
-------------------------------
Private Sub Command15_Click()
WebBrowser3.Navigate "http://www.163pan.com"
End Sub
Private Sub WebBrowser3_DocumentComplete(ByVal pDisp As Object, URL As Variant) 
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WebBrowser3.Document
List3.Clear
For i = 0 To vDoc.All.length - 1 '就是这一句,调试时变黄色显示
If UCase(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i)
If vTag.Type = "text" Or vTag.Type = "password" Then
List3.AddItem vTag.Name
Select Case vTag.Name
Case "email"
vTag.Value = "[email protected]"
Case "password"
vTag.Value = "11111111111111111"
End Select
ElseIf vTag.Type = "submit" Then
vTag.Click
End If
End If
Next i
End Sub
------------多谢!!

解决方案 »

  1.   

    1.ie需要点定义下使用。
    dim ie as object2.要等待文档全部载入才可以使用在整个document_complete里面加个if判断
    If pDisp Is WebBrowser1.Object
      

  2.   


    谢谢!我试了下,它又说我“ie.Document.getElementById("userName").Value = "11111111111111" ”这一句"对象变量或者with块未设置"。我完整的代码是(另:删去了Wscript.Sleep 200这一句):
    -------------------
    Private Sub Command1_Click()
    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")ie.Visible = True
    ie.Navigate "http://xiaonei.com/"
    DoLoop Until ie.ReadyState = 4
    ie.Document.getElementById("email").Value = "[email protected]
    ie.Document.getElementById("password").Value = "1111111" 
    ie.Document.getElementById("login").Click
    End Sub 
    -------------------------不知道怎么回事?
    我看它后台实际上已经给我成功登陆了网站,就是老报错,不知道怎么回事?
    谢谢!
      

  3.   

    你不能贴出原始内容吗?怎么上面说到userName,下面的代码中又没出现了userName了???、
      

  4.   

    不好意思是我写错了,是ie.Document.getElementById("email").Value = "[email protected]
    要么算了,反正它已经能给我登进去了,不知道怎么回事。谢谢!
      

  5.   

    菜单:工程-》引用 里面找InternetExplorer.Application所在的库
      

  6.   

    原因有两个:
    1.document对象未下载完毕,适当加点延时看看,或者在document_complete事件中用If pDisp Is WebBrowser1.Object判断
    2.操作的对象错误,如果你要操作的document放在frame中,你直接用ie.document肯定不行的