1

我有一个可怕的问题。我建立了具有许多属性的怪异类,其中也有数组属性。

如果我想用 CALLBYNAME 来引用这些,它不会起作用,让我们看一个例子:

public sub whatsoever()

    Dim alfaarray() As Variant

    Dim g As Integer

    Dim obj As Object

    ReDim alfaarray(4)

    Set obj = New teszt

    For g = 0 To 4
    alfaarray(g) = "g" & CStr(g)
    Next g

    Call obj.init

    CallByName obj, "GARG", VbLet, alfaarray

end sub

班级:teszt

Dim pgarg() As String

Property Let GARG(index As Long, value As String)
pgarg(index) = value
End Property

Property Get GARG(index As Long) As String
GARG = pgarg(index)
End Property

Public Sub init()
    ReDim pgarg(4)

End Sub
4

1 回答 1

0

您的GARG属性 Let 接受一个索引和一个字符串:您不能改为传入整个数组

Public Sub whatsoever()

    Dim g As Long
    Dim obj As Object

    Set obj = New teszt
    obj.init

    For g = 0 To 4
        CallByName obj, "GARG", VbLet, g, "g_" & CStr(g)
    Next g

    Debug.Print obj.GARG(0) '>> g_0
    Debug.Print obj.GARG(1) '>> g_1

End Sub
于 2016-05-11T00:19:21.353 回答