vb.net COM interop을 사용하여 Microsoft Excel에서 작업하고 vb에서 vb.net로 배열을 전달하는 데 문제가 있습니다. VB에서 설정할 필요가있는 VB.net 코드에 PointPairs
속성이 있고 2 차원 배열을 전달하는 데 문제가 있습니다. 나는 두 개의 1D 배열을 Sub에 전달하여 vb.net에서 속성을 설정하는 것뿐만 아니라 2D 배열로 속성을 명시 적으로 설정하려고 시도했지만 아무 것도 시도하지 않은 것 같습니다.VBA에서 VB.NET으로 배열 전달
vb.net 코드 :
Public Property PointPairs() As Double(,)
Get
...
Return array
End Get
Set(ByVal Value(,) As Double)
...
End Set
End Property
Public Sub SetPointPairs(ByRef spline As Spline, ByRef xValues() As Double, _
ByRef yValues() As Double)
Dim Value(,) As Double
ReDim Value(1, UBound(xValues, 1))
For i As Integer = 0 To UBound(xValues, 1)
Value(0, i) = xValues(i)
Value(1, i) = yValues(i)
Next
spline.PointPairs = Value
End Sub
VB 코드 :
Dim spline1 As New Spline
Dim points(), xValues(), yValues() As Double
'read input from excel cells into points() array/add x and y values to respective arrays
spline1.PointPairs = points 'first method (doesn't work)
Call SetPointPairs(spline1, xValues, yValues) 'second method (doesn't work)
모두가 vb.net 올바르게 수출 및 속성/서브 우퍼/기능 VBA에서 개체 브라우저에서 볼 수 있습니다되고있다 그러나 이러한 두 가지 방법으로 배열을 전달하려고하면 Function or interfaces markes as restricted, or the function uses an automation type not supported in Visual Basic
또는 Sub or Function not defined
이라는 오류 메시지가 나타납니다. 나는 또한 <MarshalAs()>
을 사용하여 시도했지만 이전에는 사용 해본 적이 없으며 vb와 vb.net간에 배열을 전달하는 데 사용하는 방법에 대한 많은 문서를 찾을 수 없습니다. 어떤 제안이나 솔루션이 솔루션에 관심있는 사람들을위한