Bislang konnte ich mir anhand der vielen Threads immer selber helfen und musste keine Fragen stellen. Damit ist es jetzt vorbei.
Ich versuche mich gerade das erste mal an einem Klassenmodul und möchte folgendes realisieren. Ich habe einen Quellenpfad den ich einer Klasse übergeben möchte (Quellenpfad und Ordnername). Des Weiteren möchte ich die Unterordner (Unterordnerpfad und Unterordnername) aufgelistet (per Collection in einer Klasse) und zu jedem Unterordner wiederum die dazugehörigen Dateien (Dateipfad und Dateiname) aufgelistet (per Collection in einer Klasse) haben.
'clsUnterordner
Private m_objUnterordner As clsDetails
private m_strOrdername as string
private m_strOrdnerpfad as string
Private Sub Class_Initialize()
Set m_objUnterordner = New clsDetails
End Sub
Private Sub Class_Terminate()
Set m_objUnterordner = Nothing
End Sub
Public Property Get Unterordner(vntIndex As Variant) As clsDetails
Set Unterordner = m_objUnterordner(vntIndex)
End Property
Public Property Get Anzahl() As Long
Anzahl = m_objUnterordner.Count
End Property
Public Property Get Ordnerpfad() As string
Ordnerpfad = m_strOrdnerpfad
End Property
Public Property Get Ordnername() As string
Ordnername = m_strOrdnername
End Property
Public Property Let Ordnerpfad(strOrdnerpfad As String)
m_strOrdnerpfad = strOrdnerpfad
End Property
Public Property Let Ordnername(strOrdnername As String)
m_strOrdnername = strOrdnername
End Property
Public Function UnterordnerHinzufügen(strUnterordnername As String, strUnterordnerpfad As _
String)
Dim objDatei As clsDetails
If Exists(strUnterordnername & strUnterordnerpfad) Then
MsgBox "Dieser Eintrag existiert bereits"
Else
Set objUnterordner = New clsDetails
objUnterordner.Name = strUnterordnername
objUnterordner.Pfad = strUnterordnerpfad
m_objUnterordner.Add objUnterordner, strUnterordnername & strUnterordnerpfad
End If
End Function
Public Function Exists(vntIndex As Variant) As Boolean
On Error Resume Next
Exists = Not CBool(m_objUnterordner(vntIndex) Is Nothing)
End Function
Public Sub Remove(vntIndex As Variant)
m_objUnterordner.Remove vntIndex
End Sub
Private m_strName As String
Private m_strPfad As String
Public Property Get Name() As String
Name = m_strName
End Property
Public Property Get Pfad() As String
Pfad = m_strPfad
End Property
Public Property Let Name(strName As String)
m_strName = strName
End Property
Public Property Let Pfad(strPfad As String)
m_strPfad = strPfad
End Property
Das Prinzip möchte ich auch für die Dateien haben DateiHinzufügen, DateiAnzahl usw., eben wie ein richtiges Verzeichnis möchte ich später die Klasse/Klassen ansprechen. Jedoch weiß ich nicht wie ich das weiter vererben soll?
Ich bitte um eure Hilfe und Beispiele, vielen Dank!