我放弃了找到适合以下方法的数据类型:
它完美地起作用: a)python(一切都可以从python BTW开始)
Visum.Net.Zones.GetmultipleAttributes(["No","Name","XCoord","YCoord","Name","SHAREPRTORIG","SHAREPRTDEST"])
b)VBS:
Visum.Net.Zones.GetmultipleAttributes(Array("No","Name","XCoord","YCoord","Name","SHAREPRTORIG","SHAREPRTDEST"))
c)但没有什么可以用VB('CComBaseContainer :: GetMultipleAttributes failed'错误被引发)
它尝试使用以下数据类型的方法Out=Visum.Net.Zones.GetmultipleAttributes(In)
,每次都出现相同的错误:
Dim Out As Object
Dim In As New List(Of String)
Dim In(2) As String
In.toArray()
我如何满足这种方法?
PS。从文档引用:
GetMultipleAttributes([in] VARIANT AttrIDs,[out,retval] VARIANT *值)
返回容器的所有网络对象的多个属性的值。必须将属性ID指定为向量 BSTR字符串。返回值包含VARIANT值的矩阵 由所有对象和指定属性的值组成。该 矩阵的行对应于标准顺序的网络对象 (按他们的钥匙排序)。列对应于中的属性 指定的订单。参数[in] VARIANT AttrIDs Vectorof ATTRIBUTE.XLS中的属性ID。 [out,retval] VARIANT *值 所有网络对象的这些属性值的矩阵 容器
提前致谢 I2
答案 0 :(得分:0)
如果在VBS中有效:
Visum.Net.Zones.GetmultipleAttributes(Array("No","Name","XCoord","YCoord","Name","SHAREPRTORIG","SHAREPRTDEST"))
这应该在VB.NET中起作用:
Dim a() As String= New String() {"No", "Name", "XCoord","YCoord","Name","SHAREPRTORIG","SHAREPRTDEST"}
Visum.Net.Zones.GetmultipleAttributes(a) 'you might need a() instead
请查看此问题以澄清:Equivalent of Array() in VB.NET?
答案 1 :(得分:0)
以下最终有效,但不要问我为什么:
Dim In() As Object = {"No","Name","XCoord","YCoord","Name","SHAREPRTORIG","SHAREPRTDEST"}
Dim VisumOut(,) As Object
VisumOut = Visum.Net.Zones.GetMultipleAttributes(In)
经过数百万次尝试后,它终于顺利进行了。如果你知道为什么,请给我们正确的答案。
Powodzenia,Rafał!