Aus irgendeinem Grund haben die Drähte das nie richtig gekreuzt; Da Sie XML direkt von einer URL in Excel importieren können, ist es nicht erforderlich, WINHTTP für einfache REST-Webservice-Abfragen zu verwenden.
Ich habe ursprünglich mit der Technik begonnen, nachdem ich den Amazon Web Services-Code gesehen hatte, der WinHTTP verwendet, aber es ist nicht notwendig, nur das XML von einem Webservice anzufordern.
Proof of Concept: Hier ist ein Barebone-Beispiel für die Verwendung der Yahoo News Search API, um die neuesten Yahoo-Nachrichten zu „Dan Rather“ in Excel abzurufen. Dies erfordert eine Version von Excel, die XML unterstützt:
1. Markieren und kopieren Sie diese URL:
http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10
2. Gehen Sie in Excel zu Daten->XML->Importieren
3. Verwenden Sie im Feld Dateiname die Tastenkombination Paste (STRG-V), um die gerade kopierte URL einzugeben und drücken Sie die Eingabetaste.
4. Excel fordert Sie zur Eingabe der Zelle auf, um die Yahoo News-Ergebnisse aufzulisten
So haben wir es gerade geschafft, einen Yahoo Rest Webservice zu verwenden, um Daten ohne WINHTTP in Excel zu übertragen. Denken Sie daran, dass dies ein bloßes Beispiel ist. Um dies zu erläutern, fügen Sie der Arbeitsmappe eine Karte hinzu und verwenden Sie XMLMaps.import stattdessen der WINHTTP-Beispiele, die ich verwendet habe.
Wann würde ich derzeit WINHTTP mit REST-Webservices verwenden? Meine beste Vermutung bisher:
1. Wenn für den Dienst eine Anmeldung erforderlich ist. In diesem Fall muss ich SetCredentials verwenden
2. Wenn ich die XML-Daten nicht in eine XML-Map importieren möchte, sondern nur die Rohdaten. Zum Beispiel möchte ich die Daten manipulieren, bevor ich sie in eine Tabelle schreibe, oder möglicherweise durch die XML navigieren und auswählen, welche Daten basierend auf benutzerdefinierten Kriterien angezeigt werden sollen.
Schließlich funktionieren XMLMAPS.Import und WINHTTP beide für die Nutzung von REST-Webdiensten, wobei letztere jedoch einige weitere Codezeilen erfordern. Ich stolpere weiter mit den Web Services, bis ich es lerne (und natürlich: richtig hinbekommen). Ich frage mich, ob noch jemand REST-Beispiele mit Excel hat?