2017-10-18 25 views
0

Lorsque j'essaie de faire cela, il me lance un certain nombre d'erreurs en fonction d'autres bits de mon code, tels que le méthode n'est pas associée à cet objet ou à une erreur non spécifiée. J'essaie de descendre une liste de cellules Excel avec des chaînes et d'utiliser un formulaire Web pour rechercher ces chaînes. Aidez-moi!IE.Document.getElementsByName ("name"). Value = "Valeur" ne fonctionne pas [VBA]

Mon code ressemble actuellement à ceci:

Sub YSF_automation() 
    Application.ScreenUpdating = False 

    Set IE = CreateObject("InternetExplorer.Application") 
    IE.Visible = True 
    IE.Navigate "URL" 

    While IE.Busy 
     DoEvents 
    Wend 

    IE.Document.getElementsByName("ElementName")(0).Value = "test" 

End Sub 
+0

sans voir votre code, c'est le meilleur que je .. changer le code 'IE.Document .getElementsByName ("name") (0) .Value = "Value" ' – user1

+0

Le fichier IE.Document.getElementsByName (" name ") renvoie une collection d'éléments et non un seul élément. Vous ne pouvez donc pas définir sa valeur comme telle. Essayez ce que @ user1 a suggéré. Rappelez-vous que l'index de la collection commencera à partir de 0, alors changez-le selon vos besoins. – sktneer

+0

Voici le code HTML de la zone de texte à laquelle j'essaye d'écrire: . – YaYaYaYaYaYa

Répondre

0

Essayez le dessous

Option Explicit 

Dim IE as Object 

Sub YSF_automation() 
    Application.ScreenUpdating = False 

Set IE = CreateObject("InternetExplorer.Application") 
IE.Visible = True 
IE.Navigate "URL" 

While IE.Busy 
    DoEvents 
Wend 

set document = IE.document 
with document 
    .getElementsByName("ElementName")(0).value="test" 
end with 
End Sub