当前位置: 代码迷 >> C# >> VBS调用C#类库出现数据类型不匹配的有关问题
  详细解决方案

VBS调用C#类库出现数据类型不匹配的有关问题

热度:35   发布时间:2016-05-05 03:36:59.0
VBS调用C#类库出现数据类型不匹配的问题
C#定义了
public int Config_Chart(int AxisCount, string[] AxisName,int[] R, int[] G, int[] B)
{
}
测试其中的功能已经OK。
测试代码
       private void button1_Click(object sender, EventArgs e)
        {
            string[] nn={"aa","bb","cc","dd"};
            int[] rr={255,0,0,255};
            int[] gg={0,255,0,0};
            int[] bb={0,0,255,150};
            Config_Chart(4,nn ,rr,gg,bb);
       }


在VBS编写代码:
Dim objCurve
Set objCurve=ScreenItems("PolarS")

Dim AxisCount
AxisCount=4

Dim AxisName
AxisName=Array("Polar1","Polar2","Polar3","Polar4")

Dim R,G,B
R=Array(255,0,0,255)
G=Array(0,255,0,0)
B=Array(0,0,255,255)

Dim ret
ret=objCurve.Config_Chart(AxisCount, AxisName,R,G,B)  执行到此句时,提示:类型不匹配: 'objCurve.Config_Chart'

不知是何原因,请诸位帮忙分析,多谢




------解决思路----------------------
C#开发COM真是用的不多,大概google了下

发现下面的讨论和文章,看起来C#的声明要用object.

Calling COM in C# from VBScript with Array
http://stackoverflow.com/questions/9846077/calling-com-in-c-sharp-from-vbscript-with-array

Sending an array of doubles from Excel VBA to C# (using COM interop)
http://www.codeproject.com/Articles/12386/Sending-an-array-of-doubles-from-Excel-VBA-to-C-us

  相关解决方案