W zeszłym tygodniu natknąłem się na artykuł Coding4Fun Korzystanie z usługi internetowej wyszukiwania Amazon i zanotowałem sobie w pamięci, aby osiągnąć ten sam wynik w programie Excel.
Właściwie nie pobrałem przykładu, ale postanowiłem stworzyć coś na podstawie podanego zrzutu ekranu.
A oto zrzut ekranu mojej wersji (Pobieranie znajduje się na dole):
Jedną z głównych różnic między przykładem Coding4Fun a moim przykładem jest to, że Coding4fun używa usługi sieciowej Amazon SOAP, a mój przykład używa usługi sieciowej REST.
Wybór użycia REST zamiast SOAP sprowadzał się do dwóch powodów
1. Wolę ODPOCZYNEK niż MYDŁO 🙂
2. Korzystanie z SOAP (nawet w programie Excel 2003) wymaga dodatkowego zestawu narzędzi firmy Microsoft. Korzystanie z REST wymaga jedynie ustawienia referencji do parsera XML* (w tym przykładzie jest to Microsoft XML, v5.0), które należy zainstalować na dowolnym komputerze z pakietem Office 2003)
Zgodność
Formularz użytkownika Amazon Search został przetestowany w programie Excel 2003 na komputerze z zainstalowanym programem Internet Explorer (w celu przechodzenia do adresu URL elementu) i połączeniem internetowym.
Uwagi
Odpowiedź na zapytanie z Amazon to odpowiedź „Duża”, która zwraca również adres URL obrazu. W zależności od szybkości połączenia wyszukiwanie zajmuje kilka sekund.
Nadal jestem nowicjuszem analizującym XML; Kod nie jest chroniony hasłem, więc możesz spróbować swoich sił w zmniejszaniu linii kodu. (lub stworzenie własnej zmodyfikowanej wersji (duża odpowiedź dostarcza znacznie więcej informacji niż faktycznie użyłem))
Kredyty
Załadowałem obrazy pozycji w formularzu do kontrolki obrazu, z adresu URL, używając niesamowitego kodu Juana Pablo Gonzalaza.
Ścieżki do elementów XML zostały odkryte za pomocą zestawu narzędzi XML 2003
Kliknij ten link, aby pobrać wyszukiwarkę Amazon w formularzu użytkownika programu Excel
Spróbuj go złamać, zmodyfikuj, daj znać, co myślisz.
*Nie potrzebujesz odniesienia do parsera XML, jeśli nie używasz VBA do analizowania XML. Zamiast tego po prostu zmapuj dane do komórek arkusza kalkulacyjnego.