J'ai écrit une macro qui va ouvrir une page Web, trouver les endroits où j'ai besoin de mettre les données, puis je veux que la macro frappe un bouton de pré-remplissage, puis appuyez sur Ok.Je dois trouver et appuyer sur un bouton sur une page Web en utilisant VBA
Le code source de la page pour le bouton est:
<input type="text" size="30" maxlength="40" name="name" id="name">
<input type="button" value="Prefill" onclick="prefill()">
J'ai cherché des réponses toute la semaine et je pense avoir une compréhension de base de la façon dont cela est censé fonctionner en exécutant une boucle de recherche pour cela, mais je n'ai pas de chance dans mes efforts pour que cela fonctionne vraiment. Est-ce que quelqu'un peut me montrer la boucle qui va chercher dans ma page pour ce bouton?
Merci d'avance.
Code demandé jusqu'à présent
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
Pouvez-vous poster le code que vous avez à ce jour? – sigil
Je suis curieux de savoir si VBA peut être utilisé pour une fonction si étrangère, alors je vais rester à l'écoute. Vous pouvez probablement supprimer la balise 'macros', et vous pourriez vouloir dire quelle version de Office vous utilisez. – Smandoli
vous trouvez votre fenêtre en utilisant winAPI et envoyez un clic –