Hallo zusammen,
ich habe das Problem, dass ich die Setter Methode zum setzen einer String Eigenschaft in meienr Klasse nicht aufrufen kann, Es erscheint immer folgende Fehlermeldung: Unzulässige Verwendung einer Eigenschaft
Anbei der Code der Klasse cUserContainer:
Option Explicit
Private strUser As String
Private strFolder As String
'Enthält alle momoReports des Users
Public colReports As Collection
Public Property Get GetUser() As String
GetUser = strUser
End Property
Public Property Let SetUser(ByVal pUser As String)
strUser = pUser
End Property
Public Property Get GetFolder() As String
GetFolder = strFolder
End Property
Public Property Let SetFolder(ByVal pFolder As String)
strFolder = pFolder
End Property
Public Sub AddReport(ByRef pReport As cReport)
If colReports Is Nothing Then Set colReports = New Collection
colReports.Add pReport 'Vorsicht, nicht die Klammer verwenden sondern Paramter hinten anhängen, warum???
End Sub
Public Sub get_all_reports()
Dim i As cReport
For Each i In colReports
Debug.Print i.GetFilename
Debug.Print vbTab & i.GetMonth
Debug.Print vbTab & i.GetYear
Next i
End Sub
Und der Aufruf:
Dim userContainer As cUserContainer
Set userContainer = New cUserContainer
Set userContainer.colReports = New Collection
'theUser wird zuvor gefüllt --> Folgezeile erzeugt den Fehler
Call userContainer.SetUser(theUser)
'Test mit einem Text funktioniert ebenfalls nicht
Call userContainer.SetFolder("HalloPfad")
Mach ich etwas mit Let/Set falsch? Komme nicht aus der VBA Ecke und bin mir unsicher mit Callby Refernez bzw. Callby Value.
Freue mich über jede hilfe.
Gruß
|