Af en eller anden grund krydsede ledningerne det aldrig ordentligt; fordi du kan importere XML til Excel direkte fra en URL, er det ikke nødvendigt at bruge WINHTTP til at lave simple REST -webserviceforespørgsler.
Jeg begyndte oprindeligt at bruge teknikken efter at have set Amazon Web Services -koden, der bruger WinHTTP, men det er ikke nødvendigt kun at anmode om XML fra en webtjeneste.
Proof of Concept: Her er et barebones -eksempel på at bruge Yahoo News Search API til at få de seneste Yahoo -nyheder om "Dan Rather" til Excel. Dette kræver en version af Excel, der understøtter XML:
1. Fremhæv derefter Kopier denne url:
http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10
2. I Excel skal du gå til Data-> XML-> Import
3. Brug feltet Indsæt genvej (CTRL-V) i feltet Filnavn til at indtaste den webadresse, du lige har kopieret, og tryk på enter.
4. Excel beder dig om, at cellen viser Yahoo News -resultaterne
Så det lykkedes os lige at bruge Yahoo Rest Webservice til at få data ind i Excel uden WINHTTP. Husk, at det er et bare -bone -eksempel. For at forklare det skal du tilføje et kort til projektmappen og bruge XMLMaps.import i stedet af de WINHTTP -eksempler, jeg har brugt.
Hvornår ville jeg i øjeblikket bruge WINHTTP med REST -webservices? Mit bedste gæt indtil nu:
1. Når login er påkrævet for tjenesten. I så fald skal jeg bruge SetCredentials
2. Når jeg ikke vil importere XML -dataene til et XML -kort, vil jeg hellere bare have rådata. For eksempel vil jeg manipulere dataene, før jeg skriver dem til et regneark eller eventuelt navigere i XML'en og vælge og vælge, hvilke data der skal vises baseret på brugerdefinerede kriterier.
Endelig fungerer XMLMAPS.Import og WINHTTP begge til forbrug af REST -webtjenester, men sidstnævnte kræver et par flere kodelinjer. Jeg vil blive ved med at snuble rundt med webtjenesterne, indtil jeg lærer det (og selvfølgelig: få det rigtigt). Jeg spekulerer på, om nogen andre har nogle REST -eksempler ved hjælp af Excel?