Excel üzerinden COM aracılığıyla kullanılmak üzere bir sınıfı VB6'dan VB.NET'e yükselttim. VB6VB6 özniteliği VB6 Öznitelik Öğe.VB_UserMemId = 0
, bir özelliği bu şekilde sınıfta MyScalars
tanımladığınız:
Public Property Get Item(vntIndexKey As Variant) As MyScalar
Attribute Item.VB_UserMemId = 0
Set Item = mCol(vntIndexKey)
...
End Property
Bu Excel VBA, çok varsayılan bir özellik gibi (o belirtmeden bu özelliği erişebilmeleri için bir şey yapmış gibi görünüyor): VB.NET'te bunu yapan bir eşdeğer özellik var mı? Aşağıdaki denedim ama VBA'DA bir hata veriyor:
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'da ne tür bir hata var? Bir özelliği 'Set' ile de deneyebilirsiniz, bu ReadOnly değil. – Govert
@Govert 450 hatası: Yanlış sayıda bağımsız değişken veya geçersiz özellik ataması. Eğer MyScalars.Item (Range ("E10")) 'i kullanırsam,' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ile çalışıyorsanız, bu özellik gayri resmi olarak mümkündür. – ryrich
Ayrıca bir 'Set' belirterek aynı sonucu verir. – ryrich