Sicher haben Sie schon einige unserer Artikel zum Thema "Webservices" gelesen und wissen wie man einen Webservices einrichtet.
Betrachten wir aber das mal aus einer anderen Perspektive. Wir wollen Services nutzen und nicht zur Verfügung stellen. Beispielhaft wären hier praktische Anwendungen für MS Office (Word, Excel oder Access).
So nun stehen wir da und wissen wie man mit ein paar Zeilen z.B Devtrain als Webservice benutzt (
http://www.developer-training.de/news.asp?artnr=499). Es wäre nur allzuleicht die paar Zeilen in unsere Anwedungen einzubauen. Aber die Frage, die sich stellt ist: Woher bekommt man Webservices?
Stellen Sie sich vor Sie suchen ein Restaurant oder einen KFZ Service, dann können Sie in den Gelben Seiten nachschauen. Wäre es nicht toll, wenn es ein solches Verzeichnis für Webservices geben würde?
Überraschung! Das gibts. UDDI (Universal Description Discovery and Integration ). Kategorisiert werden hier im Web Webservices verwaltet.
Es wäre es bloß noch ganz vernünftig sich die Suche nun aus der Anwendung heraus machen zu können und nicht erst online Recherchen anstellen müßte. Auch das gibts: MS Office XP Toolkit.
Nach der Installation finden wir im VBA Editor folgenden neuen Eintrag:
Mit Hilfe eines Assistenten kann man nun im Katalog zu suchen beginnen. Wie so oft benutze ich hier als Suchbegriff: "weather".
Nach Hinzufügen des passenden Webservice wird automatisch eine Klasse mit allem notwendigen erstellt. Alles was man nun noch machen muss, ist VBA Geschichte. Entweder als Modul eine Public Functionname einzubauen oder die in das jeweilige Dokument/Sheet ein Sub Funktionsname.XP Toolkit.
Folgender Code erzeugt unsere Funktion:
Public Function GetTemp(strOrt As String)
Dim oOrt As New clsws_WeatherRetriever
GetTemp = oOrt.wsm_GetTemperature(strOrt)
End Function
Und voila... es funktioniert.
Zugegeben allzuviele Treffer hatte ich nicht beim Testen. Aber in absehbarer Zeit wird sich das ändern. Denkbare Webservices wären Übersetzungen - die gibts bereits als Add-in für Word-, Börsenkurse etc. . Der Phanatsie sind hier keine Grenzen gesetzt.