Ho scritto una macro che aprirà una pagina web, troverò gli spot in cui ho bisogno di inserire i dati, e poi voglio che la macro tocchi un pulsante di precompilazione, quindi premi Ok.Ho bisogno di trovare e premere un pulsante su una pagina web usando VBA
Il codice sorgente della pagina per il pulsante è:
<input type="text" size="30" maxlength="40" name="name" id="name">
<input type="button" value="Prefill" onclick="prefill()">
Sono stato alla ricerca di risposte per tutta la settimana e penso di avere una conoscenza di base di come questo dovrebbe funzionare eseguendo un ciclo per la ricerca per questo, ma non ho fortuna nel mio tentativo di farlo funzionare.
Qualcuno può mostrarmi il ciclo che cercherà la mia pagina per questo pulsante?
Grazie in anticipo.
codice richiesto finora
Private Sub Populate_Click()
Dim i As Long
Dim IE As Object
Dim objElement As Object
Dim objCollection As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "website" 'make sure you've logged into the page
Do
DoEvents
Loop Until IE.READYSTATE = 3
Do
DoEvents
Loop Until IE.READYSTATE = 4
ActiveSheet.EnableCalculation = False
ActiveSheet.EnableCalculation = True
Call IE.document.getelementbyid("name").SetAttribute("value", ActiveSheet.Range("b2").Value)
Call IE.document.getelementbyid("aw_login").SetAttribute("value", ActiveSheet.Range("a2").Value)
Set objCollection = IE.document.getElementsByTagName("input")
i = 0
While i < objCollection.Length
If objCollection(i).Type = "button" And _
objCollection(i).Name = "Prefill" Then
Set objElement = objCollection(i)
End If
i = i + 1
Wend
objElement.Click
End Sub
Puoi pubblicare il codice che avete finora? – sigil
Sono curioso di sapere se VBA può essere usato per una funzione così estranea, quindi resterò sintonizzato. Probabilmente puoi rimuovere il tag 'macros', e potresti voler dire quale versione di Office stai usando. – Smandoli
si trova la finestra utilizzando winAPI e si invia un clic –