Săptămâna trecută m-am lovit de articolul Coding4Fun Utilizarea serviciului web Amazon Search și am făcut o notă mentală pentru a obține același rezultat în Excel.
De fapt, nu am descărcat exemplul, ci am început să creez ceva bazat pe captura de ecran dată.
Iată o captură de ecran a versiunii mele (descărcarea este în partea de jos):
O diferență majoră între Exemplul Coding4Fun și exemplul meu este că Codinging4fun folosește serviciul web Amazon SOAP, iar exemplul meu folosește serviciul web REST.
Alegerea de a folosi REST peste SOAP s-a redus din două motive
1. Prefer odihna în locul săpunului 🙂
2. Utilizarea SOAP (chiar și cu Excel 2003) necesită o cutie de instrumente suplimentară de la Microsoft. Utilizarea REST necesită setarea doar a unei referințe la parserul XML* (în acest exemplu, adică Microsoft XML, v5.0), care ar trebui instalat pe orice mașină Office 2003)
Compatibilitate
Amazon Search UserForm a fost testat în Excel 2003 pe o mașină cu Internet Explorer instalat (pentru navigarea la adresa URL a articolului) și o conexiune la internet.
Note
Răspunsul la interogarea de căutare de la Amazon este un răspuns „mare” pentru a returna și adresa URL a imaginii. În funcție de viteza conexiunii, o căutare durează câteva secunde.
Sunt încă un debutant în analiza XML; Codul nu este protejat prin parolă, așa că nu ezitați să încercați să reduceți liniile de cod. (sau crearea propriei versiuni modificate (un răspuns mare oferă mult mai multe informații decât le-am folosit de fapt))
credite
Am încărcat imaginile articolului în formular într-un control al imaginii, dintr-o adresă URL, folosind uimitorul cod Juan Pablo Gonzalaz.
Căile către elementele XML au fost descoperite folosind 2003 XML Toolkit
Faceți clic pe acest link pentru a descărca Amazon Search într-un formular de utilizator Excel
Încercați să o rupeți, să o modificați, să-mi spuneți ce credeți.
*Nu aveți nevoie de o referință la analizorul XML dacă nu utilizați VBA pentru a analiza XML. În schimb, pur și simplu asociați datele la celulele foii de calcul.