7
COM을 통해 Excel에서 클래스를 VB6에서 VB.NET으로 업그레이드했습니다. VB6에서VB.NET에서 VB.NET에 상응하는 항목 Item.VB_UserMemId = 0
, 나는 속성은이 같은 클래스 MyScalars
에서 정의한 :
Public Property Get Item(vntIndexKey As Variant) As MyScalar
Attribute Item.VB_UserMemId = 0
Set Item = mCol(vntIndexKey)
...
End Property
이 엑셀 VBA에서, 내가 그렇게 기본 속성처럼 (을 지정하지 않고이 속성에 액세스 할 수 있습니다 그래서 그것을 만들 것) :
Dim oOut As Object
Set oOut = MyScalars(Range("E10").Value)
VB.NET에는 이와 동일한 속성이 있습니까? 다음을 시도했지만 VBA에 오류가 있습니다.
Default Public ReadOnly Property Item(ByVal vntIndexKey As String) As MyScalar
Get
If mCol.ContainsKey(vntIndexKey) Then
Item = mCol.Item(vntIndexKey)
End If
...
End Property
VBA에서 어떤 오류가 발생합니까? '설정'이있는 속성을 사용해 볼 수도 있습니다.이 속성은 ReadOnly가 아닙니다. – Govert
@Gault 오류 450 : 잘못된 인수 수 또는 잘못된 속성 할당. MyScalars.Item (Range ("E10"). Value)'이 제대로 작동하면 속성을 기본값으로 설정할 수 있는지 궁금합니다. – ryrich
또한 'Set'을 지정하면 동일한 결과가 나타납니다. – ryrich