JS 没办法构造出 Visual Basic 数组 VBS 可以构造出 Variant 类型的数组 如果你的 OCX 可以修改并且可以利用 VBScript, 将 VB 里函数定义为Public Function myfunction(ByRef mystring() As Variant) As Variant Dim i As Integer For i = 0 To UBound(mystring) ...... Next i myfunction = ..... End Function <script language="VBScript"> Function ToVBArray(ByRef JArray) Dim arr(), i, ubd ubd = JArray.length-1 ReDim arr(ubd) For i=0 To ubd arr(i) = GetJSArrayElement(JArray, i) Next ToVBArray = arr End Function </script> <script language="JScript"> function GetJSArrayElement(JArray, i) { return JArray[i]; } var jay = ["a", "b", "SAFSDF"]; var ocx = new ActiveXObject("XXX.XXXX"); ocx.myfunction(ToVBArray(jay)); </script>
VBS 可以构造出 Variant 类型的数组
如果你的 OCX 可以修改并且可以利用 VBScript, 将 VB 里函数定义为Public Function myfunction(ByRef mystring() As Variant) As Variant
Dim i As Integer
For i = 0 To UBound(mystring)
......
Next i
myfunction = .....
End Function
<script language="VBScript">
Function ToVBArray(ByRef JArray)
Dim arr(), i, ubd
ubd = JArray.length-1
ReDim arr(ubd)
For i=0 To ubd
arr(i) = GetJSArrayElement(JArray, i)
Next
ToVBArray = arr
End Function
</script>
<script language="JScript">
function GetJSArrayElement(JArray, i) { return JArray[i]; }
var jay = ["a", "b", "SAFSDF"];
var ocx = new ActiveXObject("XXX.XXXX");
ocx.myfunction(ToVBArray(jay));
</script>