Sélectionnez un élément dans un IE combobox

J'ai le bon code pour accéder à un site web où je veux commencer à peupler les listes déroulantes et les champs, etc. Le code que j'ai essayé, à la suite de @Obligations de la suggestion, est:

Sub GetQuote()

Dim IE As Object

Set IE = CreateObject("InternetExplorer.Application")

IE.navigate ("website")

IE.Visible = True

Do
DoEvents
Loop Until IE.readystate = 4

Dim e
Set e = IE.document.getElementsByClassname("id of button")(1)
e.Click

Application.Wait (Now + TimeValue("00:00:02"))

Do
DoEvents
Loop Until IE.readystate = 4

Dim z As Object

Set z = IE.document.getElementbyid("vehicleYearOfManufactureList")
z.SelectedIndex = 4

End Sub

Ce utilisé pour remplir la première liste déroulante avec la valeur de 2012, mais maintenant je viens d'obtenir une erreur d'exécution, où l'objet est nécessaire. Serait-ce parce que déjà que le lien est cliqué utilisé pour ouvrir dans la même et actuelle de la fenêtre, et maintenant elle est en quelque sorte l'ouverture d'une toute nouvelle fenêtre? Je suis juste sidéré par la façon dont le même code fonctionne et puis n'est-ce pas, en supposant qu'aucune des modifications ont été apportées au code source qu'il référence.

La ligne qui est mis en évidence dans le débogage de cette erreur: Set z = IE.document.getElementbyid("vehicleYearOfManufactureList"). Comme par le commentaire que j'ai mis ci-dessous, c'est un "run-time 424: objet" nécessaire d'erreur

  • J'ai essayé ce que @Bond a suggéré ci-dessous (en y ajoutant une boucle alors que IE.Occupé) ainsi que de nombreuses autres choses. J'ai regardé quelques vidéos que faire une chose très semblable et le code est très simple. J'ai essayé de modifier le code pour que mon propre objectif, mais je ne suis pas de la réussite à tous. - Je continuer à recevoir des erreurs d'exécution ou le fait que l'objet ne prend pas en charge la propriété. C'est assez déprimant pour quelque chose qui semble si simple dans d'autres personnes de code, je suis vraiment, vraiment en espérant que quelqu'un peut exécuter mon code et voir ce qu'il se passe avec cette dernière ligne destinée à sélectionner la valeur de 2012 dans la liste déroulante
  • J'ai essayé votre code ci-dessus et il fonctionne, mais vous devez attendre après e.Click. Pour tester, lancer une MsgBox après e.Click et d'attendre quelques secondes avant de cliquer dessus. Ensuite, voir si le reste de votre code s'exécute correctement. Si oui, revenir en arrière et remplacer le MsgBox avec une courte période d'attente.
  • WOW! Comment passionnant! Il a travaillé quand je l'ai mis dans la boîte de message. @Bond, merci, merci beaucoup. Je vois maintenant ce que vous vouliez dire par l'ajout d'un retard!
  • Bonne chance, l'homme. Vous avez obtenu ce.
  • Cheers 🙂 - si content de ce que j'ai manqué le déjeuner au travail!
  • Je suis stupéfait. Mon code jusqu'à ce point, fonctionne bien. Même quand j'ai vérifié ce matin, il était au travail. J'ai édité mon code dans ma question initiale pour montrer ce qui a été depuis hier. Ce que j'ai alors remarqué, c'est qu'à un certain moment, lorsque le code cliqué sur le lien sur l'original de l'IE de la page, il ouvre le lien dans une nouvelle fenêtre. Hier et ce matin, il était simplement en ouvrant le nouveau lien dans la même fenêtre. Je ne sais pas si c'est la raison pour laquelle j'obtiens l'erreur d'exécution '424: Objet requis". J'ai essayé de jouer avec les options internet de l'onglet pop-up s'affiche, mais en vain.
  • J'ai remarqué que quand j'ai été le tester. Vous pouvez juste essayer de naviguer à l'URL représenté par le bouton/lien sur la première page au lieu de cliquer, ce qui semble pour l'ouvrir dans une fenêtre pop-up. Ainsi, au lieu de e.Click ci-dessus, essayez ie.navigate e.href.
  • Oh OUI! Grâce Bond! Merveilleux - c'est incroyable de voir comment une solution peut effacer la douleur de heures avant l'incrédulité et la recherche sur Google! J'ai aussi remarqué quelque chose de vraiment sournois - qu'href dans le code source semble presque être dissimulé. Seulement quand je tourne dessus avec ma souris, je n'ai vu que le lien était pour naviguer correctement à cette page!

InformationsquelleAutor chris | 2015-08-10