VSTO Web サービス連携 その3
さて、今回はいよいよ、VSTO で Web サービスを利用する方法について、ご紹介したいと思います。
3. VSTO における Web サービスからのデータ取得
手順:
1. VS を起動し、Excel ブックのソリューションを開きます。
![image_thumb[16]](http://blogs.msdn.com/blogfiles/saikik/WindowsLiveWriter/VSTOWeb_38CB/image_thumb%5B16%5D_thumb.png)
2. [データ]-[新しいデータソースの追加]を選択します。
3. データソースの構成ウィザードで[サービス]を選択し、[次へ]をクリックします。
![image_thumb[21]](http://blogs.msdn.com/blogfiles/saikik/WindowsLiveWriter/VSTOWeb_38CB/image_thumb%5B21%5D_thumb.png)
4. アドレスに先ほど、作成した Web サービスの URL を入力し、[移動]をクリックします。
※ここでは、例として、http://localhost/WebSite2/Service.asmx にしています。
5. [サービス]で "ServiceSoap"を選択し、[OK] をクリックします。
6. データ接続ウィザードが終了しますので、[完了]をクリックします。
7.IIS で http://localhost/WebSite2 の匿名認証を有効にします。
8. [データソース]でサービス参照として追加したビュー(vAdditionalContactInfo)を Excel シートにドラッグアンドドロップします。
※データソースをドラッグアンドドロップすることで、テーブル領域として認識され範囲に名前が付与されます。
ここでは、"VAdditionalContactInfoListObject" というテーブル名になっており、コードを書く際にオブジェクトとして利用可能です。
Excel の[デザイン] の[プロパティ]タブで確認可能です。
9. Sheet1.vb の Start Up イベントに以下のコードを記載します。
Dim ws As New ServiceReference1.ServiceSoapClient
VAdditionalContactInfoListObject.DataSource = ws.ContactInfo.vAdditionalContactInfo
10. ここでデバッグします。
以下のように情報を取得可能です。
このようにVSTO の利用により、必要最小限のコードで Web サービスから情報を取得することが可能です。
以外と簡単ですので、是非、皆様も一度、お試しください。