VSTO Web サービス連携 その3

さて、今回はいよいよ、VSTO で Web サービスを利用する方法について、ご紹介したいと思います。

3. VSTO における Web サービスからのデータ取得

手順:

1. VS を起動し、Excel ブックのソリューションを開きます。

 image_thumb[16]

2. [データ]-[新しいデータソースの追加]を選択します。

3. データソースの構成ウィザードで[サービス]を選択し、[次へ]をクリックします。

image_thumb[21]

4. アドレスに先ほど、作成した Web サービスの URL を入力し、[移動]をクリックします。

※ここでは、例として、http://localhost/WebSite2/Service.asmx にしています。

image_thumb[23]

5. [サービス]で "ServiceSoap"を選択し、[OK] をクリックします。

6. データ接続ウィザードが終了しますので、[完了]をクリックします。

image_thumb[24][4]

7.IIS で http://localhost/WebSite2 の匿名認証を有効にします。

image_thumb[26][4]

8. [データソース]でサービス参照として追加したビュー(vAdditionalContactInfo)を Excel シートにドラッグアンドドロップします。

※データソースをドラッグアンドドロップすることで、テーブル領域として認識され範囲に名前が付与されます。

ここでは、"VAdditionalContactInfoListObject" というテーブル名になっており、コードを書く際にオブジェクトとして利用可能です。

Excel の[デザイン] の[プロパティ]タブで確認可能です。

image_thumb[20][4]

9. Sheet1.vb の Start Up イベントに以下のコードを記載します。

Dim ws As New ServiceReference1.ServiceSoapClient
VAdditionalContactInfoListObject.DataSource = ws.ContactInfo.vAdditionalContactInfo

10. ここでデバッグします。

以下のように情報を取得可能です。

image_thumb[28][4]

このようにVSTO の利用により、必要最小限のコードで Web サービスから情報を取得することが可能です。

以外と簡単ですので、是非、皆様も一度、お試しください。