Buongiorno a tutti,
rieccoci con un nuovo problema (stavolta piu' pratico). Ho scritto il seguente codice VBA che va su un sito web, inserisce il nome utente, clicca un bottone per procedere alla password e dunque dovrebbe procedere con l'input della stessa. Tuttavia, essendo
la password molto strana (si inserisce un valore per volta) mi da' continuamente errore nonostante il ragionamento sembra essere giusto. Copio e incollo il codice qui sotto, in maniera tale che il sant'uomo/donna che potrebbe aiutarmi dovra' solo copiare il
codice ed incollarlo in una macro per eseguirlo. Al momento di compilazione della password, il sistema With form non funziona per via di un errore di run-time 424 (necessario oggetto)... non riesco a spiegarmi perche', dal momento che lo stesso oggetto viene
riconosciuto in altre applicazioni con la medesima logica! Grazie in anticipo a chiunque possa aiutarmi, siete preziosissimi.
------------------- INIZIO CODICE ---------------------------------
Sub Alior()
Dim appIE As Object
Dim sURL As String
Dim UserN As Object
Dim PW As Object
Dim Element As Object
Dim btnInput As Object
Dim ElementCol As Object
Dim Link As Object
Dim strCountBody As String
Dim lStartPos As Long
Dim lEndPos As Long
Dim TextIWant As String
Dim GetIE As Object
Set GetIE = CreateObject("internetexplorer.application")
Application.ScreenUpdating = False
Set appIE = GetIE
'On Error GoTo Messaggiodierrore
sURL = "https://aliorbank.pl/hades/od/Login"
With appIE
.navigate sURL
'togli il commento alla linea sotto per vedere il web
.Visible = True
End With
Do While appIE.Busy
Loop
Do While appIE.Busy
Loop
Do While appIE.Busy
Loop
Set UserN = appIE.document.getElementsbyName("p_alias")
If Not UserN Is Nothing Then
UserN(0).Value = "00000000"
End If
Set ElementCol = appIE.document.getElementsByTagName("span")
For Each btnInput In ElementCol
If btnInput.InnerHTML = "Dalej" Then
btnInput.Click
Exit For
End If
Next btnInput
Do While appIE.Busy
Loop
Do While appIE.Busy
Loop
Do While appIE.Busy
Loop
Dim inputname()
ReDim inputname(1 To 11)
For i = 1 To 11
inputname(i) = "PASSFIELD" & i
Select Case i
Case 1
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 2
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 3
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 4
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 5
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 6
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 7
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 8
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 9
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 10
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
Case 11
With appIE.document.forms("MaskLoginForm")
.elements(inputname(i)) = "P"
End With
End Select
Next i
Exit Sub
Messaggiodierrore:
appIE.Quit
evabeh = MsgBox("Something went wrong with Alior. Please download individually until you get the " _
& "confirmation message.", vbCritical, "Liquidity Overview")
End Sub
------------------- INIZIO CODICE ---------------------------------