Hier Teil 1 einer meiner üblichen “mal schnell dies und das einrichten” – Aktionen, die dann in einem Netz von kleinen Such- und Forschungsprojekten enden.

Mein Ziel war (und ist) es, in verschiedenen Excel-Sheets den Umrechnungskurs von US-Dollar in Euro zu aktualisieren. Und Webservices scheint es ja an jeder Ecke zu geben, gerade für so ein Standard-Thema wie Wechselkurse.

Eine Recherche brachte folgenden hoffnungsvollen Ansatz zu Tage: Ein von Microsoft kostenlos zur Verfügung gestelltes “Office Webservices Toolkit” erweitert Excel um die Fähigkeit, von einem Webservice zur Verfügung gestellten Funktionen wie eingebaute Excelfunktionen zu nutzen. Dabei wird sogar die in WDSL formulierte Beschreibung des Services ausgewertet und die Funktionen direkt zum “Einbau” in Excel angeboten. Das funktioniert wohl auch ganz prima!

Aber!

Aber ich habe leider kein Excel 2003, sondern die Version 2007. Es stellt sich heraus, dass es für 2007 ein solches Toolkit wohl auch nicht gibt. In dieser Realisierung wohl auch nicht geben kann, da dieses Toolkit auf Visual Basis / VBA aufsetzt. Wer es wie ich noch nicht mitbekommen hat: VBA ist wohl irgendwo zwischen Office 2003 und 2007 auf der Strecke geblieben. Schade eigentlich, auch wenn ich nicht viel damit gemacht habe.

Na gut, dann werde ich eine andere Methode finden, eine, die nicht auf dem komplizierten SOAP aufbaut. Excel 2007 kann nämlich schon per HTTP externe XML-Sourcen nutzen. Ob das ein einmaliger Import ist oder ein “living link” werde ich noch herausfinden müssen. Alternativ dazu habe ich noch einen Artikel gefunden, der beschreibt, wie man eine Webservice-Funktion mittels des Toolkits in 2003 installieren kann und diese dann -ohne das Toolkit zu benötigen- nach 2007 überträgt. Klingt vielversprechend – werde ich probieren, sobald ich eine SOAP-fähige Datenquelle gefunden habe.

Also schaue ich mir jetzt mal den Webservice aus meinem Einstiegs-HowTo an. Den Währungsrechner-Webservice aus dem Einstiegsartikel scheint es nicht mehr zu geben. Sollte nicht schlimm sein, so etwas muss es doch hundertfach im Web geben. Denkt man. Bis jetzt habe ich viele abfragbare Quellen gefunden (Yahoo!, Europ. Zentralbank, Google etc.). Aber keiner scheint kostenlos (!) etwas im Stile eines Webservices anzubieten.

Am nächsten komme ich noch mit dem Service der Europäischen Zentralbank: Dort gibt es eine Page mit vielen aktuellen Wechselkursen. Hinter jedem einzelnen Kurs gibt es einen RSS-Feed mit den letzten 5 Kursen. Da ich es nicht geschafft habe, den USD-Feed sinnvoll in Excel zu integrieren, werde ich jetzt einen Umweg wählen: Ich werde auf einem Webserver ein Perl-Skript installieren, welches mir diesen RSS in einem Excel-2007-verträglichen Format bereitstellt.

Schon Stunden investiert. Da hätte ich auch in Lehman-Brothers-Zertifikate investieren können. Ab jetzt ist es eine Frage der Ehre!

Stay tuned!

Quellen:

  • Howto Office2003: http://www.windowsdevcenter.com/pub/a/windows/2005/02/08/xcel_mm.html (untere Hälfte, ab “Calling a Webservice”)
  • Scheinbar kostenloser Webservice für Wechselkurse: http://www.ny.frb.org/markets/pilotfx.html (http://www.newyorkfed.org/markets/fxrates/WebService/v1_0/FXWS.wsdl)
  • Office2003 Webservices Toolkit: http://www.microsoft.com/downloads/details.aspx?FamilyID=fa36018a-e1cf-48a3-9b35-169d819ecf18&DisplayLang=en
  • Web-Service von Excel 2003 nach 2007 übertragen: http://entwickler-forum.de/showpost.php?s=0d47e0eb4bcb97c8848ee8fdf64e5318&p=156016&postcount=2
  • Nutzung einer XML-Datenquelle aus dem Web (Excel2007) http://blogs.msdn.com/hovsep/archive/2007/07/11/excel-2007-how-to-connect-to-and-import-data-from-an-xml-web-service.aspx
  • ECB: Wechselkurse mit RSS-Feed: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html