将数组数据从excel VBA发送到WCF
本文关键字:WCF VBA excel 数组 数据 | 更新日期: 2023-09-27 18:02:10
我的问题是,我想从VBA发送一个字符串数组到WCF。
c#代码是:
[OperationContract]
void SetSomeObjects(string[] data);
这里是VBA部分
Dim data(2) As String
data(0) = "abc"
data(1) = "def"
Dim service2 As Object
Set service2 = GetObject(ServiceBindingInformation)
service2.SetSomeObjects data
最后一行抛出VBA
"Type Mismatch Error"
我不知道为什么会这样。请建议一种方式发送数组数据从VBA到WCF服务如果我使用object作为参数类型,就会出现如下截图所示的错误
我认为问题出在c#代码中。
有一次我想基于Linq (c#)对数组(VBA)进行排序。数组以传递参数给函数/方法的方式传递给UDF:
Dim UDF_Array As UDFArrayLinqTest.ArrayLinq
Set UDF_Array = New UDFArrayLinqTest.ArrayLinq
TBL = Array(...)
Range(...) = UDF_Array.ArraySorted(TBL)
c#中的简单UDF如下:
public double[] ArraySorted(object tbl)
{
object[] obj = (object[])tbl;
var filtr = from i in obj
orderby Convert.ToDouble(i)
select Convert.ToDouble(i);
double[] result = (double[])filtr.ToArray();
return result;
}
我不认为这是最好的主意,但我停止寻找更好的一个后,我做了上面的,这对我来说已经足够好了。