打开网页并自动输入用户名和密码自动登录的一个有关问题

打开网页并自动输入用户名和密码自动登录的一个问题
本帖最后由 bcrun 于 2013-04-04 19:07:06 编辑
下面是模块中的代码,登录的地址是单位内部的一个网页

Public Const JiLiangGuanLiXiTong = "http://10.67.132.33/"

Function OpenJiLiangXiTong(name As String, mima As String) As String  '自动登录子程序
    
    Dim vDoc, vTag
    Dim i As Integer
    
    Dim browser As Object, timeie As Date
    
    Set browser = CreateObject("InternetExplorer.application")
    browser.Visible = True
    browser.Navigate (JiLiangGuanLiXiTong)    
    
    timeie = DateAdd("s", 60, Now()) '等待60s
    Do While browser.Busy And Not browser.ReadyState = False
        DoEvents   
        If timeie < Now() Then
            MsgBox "网络不通!", vbInformation, "网络不通"
            browser.Quit
            Exit Function
        End If
    Loop
       
    Set vDoc = browser.Document
    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
                Select Case vTag.name
                    Case "Username"
                        vTag.Value = name
                    Case "Password"
                        vTag.Value = mima
                End Select
            ElseIf vTag.Type = "image" Then
                vTag.Select
                vTag.Click
            End If
        End If
    Next i
    
End Function


大多情况下程序没有问题,低概率会出现如下问题,尤其出现在连续登陆的时候。
1. 不自动登陆,网页上填写用户名和密码的地方空白;(此时程序没有任何其他反应)
2. 提示:运行时错误‘70’:拒绝的权限;(此时登陆成功,但程序崩溃了)