столкнулся с проблемой при создании кода для автоматизации Excel с помощью VBA - PullRequest
0 голосов
/ 25 сентября 2019

проблема: - войдите на сайт, используя VBA, приведенный ниже код - это то, что я ищу, но во время работы он показывает ошибку типа «переменная объекта или переменная блока не установлена. Фактически веб-страница загружается, ноимя пользователя, пароль и балансовая единица, которые я даю, не принимают его автоматически. Можете ли вы помочь мне с этой проблемой?

Sub login()

    Const Url$ = "https://www.compliancewire.com/CW3/Standard/Authentication/LogIn"

    Dim UserId As String, Password As String, CompanyCode As String, LoginData As Worksheet
    Set LoginData = ThisWorkbook.Worksheets("Sheet1")
    UserId = LoginData.Cells(1, "B").Value
    Password = LoginData.Cells(2, "B").Value
    CompanyCode = LoginData.Cells(3, "B").Value

    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")

    With ie

        .navigate Url
        ieBusy ie
        .Visible = True

        Dim oLogin As Object, oPassword As Object, oCompanyCode As Object
        Set oLogin = .document.getElementsByName("ecp_param_userId")(0)
        Set oPassword = .document.getElementsByName("ecp_param_password")(0)
        Set oCompanyCode = .document.getElementsByName("ecp_param_CompanyCode")(0)

        oLogin.Value = UserId
        oPassword.Value = Password
        oCompanyCode.Value = CompanyCode
        .document.forms(0).submit

    End With

End Sub
Sub ieBusy(ie As Object)
    Do While ie.Busy Or ie.readyState < 4
        DoEvents
    Loop
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...