私は必死にこれをしようとしています。
この投稿で見つかった動作を再現できました。
http://damianblog.com/2009/07/05/excel-wcf/comment-page-1/#comment-64232
ただし、公開された wcf 関数に配列を渡すことができません。
私のWCFサービスはこのように機能します(intの配列も使用しようとしました)
public object[] GetSomeArray()
{
return new object[] { 1, 2, 3, 4};
}
public object[] ReturnSomeArray(object someArray)
{
object[] temp = (object[]) someArray;
for (int i = 0; i < temp.Length; i++)
{
temp[i] = (int)temp[i] + 1;
}
return temp;
}
私のVBAコードは次のようになります。
Dim addr As String
...
Dim service1 As Object
Set service1 = GetObject(addr)
Dim columnsVar
columnsVar = Array(1, 2, 3)
Dim anotherArray As Variant
anotherArray = service1.ReturnSomeArray(columnsVar)
上記の最後の行には常に問題があります。WCF サービスから配列を返すことができるのに、同じ配列をパラメーターとして別の WCF 関数に渡すことができない理由がわかりません。
シリアル化エラーが発生しています。
どんな助けでも大歓迎です。