| 
    
     |  | お世話になります。 書き方などいたらぬ点があるかと思いますが宜しくお願いします。
 
 ■状況
 EXCEL-VBAからWEBサービスを呼び出す方法を検討しています。
 WEBサービスの起動はSoapClientで成功しているのですが
 引数や戻り値にVBAに存在しない型(構造体やList型)を
 使う場合うまくいきません。
 
 ■お聞きしたいこと
 --------------------------------------
 1.クラスモジュールの使い方に誤りがありますでしょうか。
 2.戻り値でユーザ定義型のリストを受け取った場合
 どのように処理すれば良いでしょうか。
 例えば戻り値をreturnObject(0)といった配列のように
 取得できますでしょうか。また要素への参照は
 returnObject(0).userIdと指定してもエラーですよね???
 --------------------------------------
 
 ■WEBサービス仕様
 --------------------------------------
 呼び出し方法:testExec(customer)
 要素名:customer
 →データ型:CustomerInfo
 →CustomerInfoは、testIdとtestNameという要素を持ちます
 戻り値:businessList(Businessという構造体のリスト)
 --------------------------------------
 
 ■構造体代わりに準備したクラスモジュール
 'CustomerInfo.cls
 --------------------------------------
 Option Explicit
 Public workTestId As String
 Public workTestName As String
 
 Property Get testId() As String
 testId = workTestId
 End Property
 Property Let testId(ByVal testId As String)
 workTestId = testId
 End Property
 Property Get testName() As String
 testName = workTestName
 End Property
 Property Let testName(ByVal testName As String)
 workTestName = testName
 End Property
 --------------------------------------
 
 ■VBAのコード
 --------------------------------------
 Dim rtnObject As Object
 Dim oSoapClient As SoapClient30
 Dim customer as CustomerInfo
 
 Set oSoapClient = New oSoapClient30
 oSoapClient.mssoapinit(WSDLのパス)
 customer.testId = "ID"
 customer.testName = "テスト太郎"
 Set rtnObject = oSoapClient.testExec(customer) ←【1】質問の1です
 
 'rtnObjectというオブジェクト型でとりあえず受けましたが
 '戻り値をどう解析すればいいのでしょう?
 'debug.print rtnObject(0).testId ←【2】質問の2です
 --------------------------------------
 
 ■エラー内容
 --------------------------------------
 インターフェイスがサポートされていません。
 --------------------------------------
 
 |  |