Comment Google l'adresse de la rue et renvoie la valeur de retour dans Excel en utilisant VBA Excel?
J'ai une liste de plus de 50 000 places dans Excel (par exemple. Le Parc National des Arches, Cornell Musée du Verre). Quand je tape "Cornell Musée du Verre" dans Google, il retourne une adresse "1 Musée de Façon, Corning, NY 14830". J'ai besoin de l'adresse complète Street # nom de Rue, code postal et. - J'ai de l'état de NY si(dans Excel). Personne ne sait comment chercher l'adresse sur Google(en tapant le Cornell Musée du Verre), puis retourner l'adresse de la rue à l'arrière sur Excel(1 Musée de Façon, Corning, NY 14830)? Je sais VBA est capable de faire cela, et je ne veux pas le faire manuellement 50 000 fois, en plus je suis un total débutant en VBA. Si quelqu'un sait comment faire je vous en serais très reconnaissante! Je vous remercie à l'avance.
- Sont les adresses dans Excel ainsi que les lieux? Il semble que vous êtes en train de dire que votre fichier Excel contient les adresses déjà.
- Vous devriez vérifier l'API de recherche google, mais le nombre de recherches que vous pouvez faire par jour pourrait être limité. Alternativement, vous pouvez utiliser internet explorer ou google chrome via le Sélénium) de l'automatisation et de gratter le HTML retourné, mais c'est probablement un laregly fiable/solution instable.
- N'est-il pas "le Corning Museum of Glass" et non pas "Cornell..." ?
Vous devez vous connecter pour publier un commentaire.
Devraient être les informations nécessaires pour résoudre le problème
Ici est un post qui montre comment l'utilisation de VBA et XML pour interagir avec Google Maps (via l'api google maps).
Et Ici est l'Endroit de google API, qui est ce que vous cherchez (requérant/de recevoir des informations à partir de google).
Réponse
J'ai créé une épreuve de travail. Vous devez créer une clé API google, vous pouvez aller ici de le faire. Une fois que vous avez la clé de l'API, le mettre dans le code et l'exécuter.
Noter que Google ne restreignent souvent d'une clé API peut être utilisé chaque jour. Un utilisateur gratuit semble pour obtenir 1000 "demandes" à la "place" de l'API de chaque jour. Fâcheusement, certains appels semblent être une valeur de plus "demandes" que d'autres. Mon code fait 2 appels à google "lieu" de l'API, mais google compte que 11 demandes. C'est parce qu'un appel à la "place/textsearch" est d'une valeur de 10 "demandes". Mon autre appel a été des lieux/détails vaut 1. Tout cela signifie, c'est que vous êtes limité à 90 entrées chaque jour/gratuit clé api avec cette méthode.
Ici est l'endroit de Google/la documentation de recherche
Ici est l'endroit de Google/détails documentation
Enfin, cette a été un formidable post pour ce sujet, j'ai basé mon code il.
Test de sortie:
Code:
'####
EDIT: Maintenant, place à l'aide de l'API plutôt que de Géocodage de l'API
J'ai eu un message d'erreur semblable à une affiche ci-dessus que j'ai corrigé et je voulais poster le fixer quelque part que je suis maintenant en utilisant une version modifiée de ce code qui, une fois ça marche, je vais aussi poster. Ce qui se passe est que j'ai été en passant noms que google n'avait pas de résultats pour. Si vous pouvez être dans un bateau similaire à la ligne suivante est positif pour vérifier si vous avez quelque chose en retour: (le negitive n'est pas = "ZERO_RESULTS")
Vous devez obtenir une clé API et ensuite le code fonctionne très bien. Allez sur le lien ci-dessous et cliquez sur le bouton qui se lit: "OBTENIR UNE CLÉ d''.
https://developers.google.com/maps/documentation/javascript/tutorial