Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe ein kleines Problem in VBA. Wollte ein Sub schreiben, das mir ein bereits vorhandenes Objekt kopiert.

Ich erhalte als Fehlermeldung:

Object doesn't support this property or method.
Was die Meldung bedeutet weiß ich. Nur weiß ich nicht, warum sie dort erscheint...

Sub SubTestCopyObjects()

    Dim colObjects As Collection

    Dim Object1 As Class1

    Dim Object2 As Class1


    Set colObjects = New Collection

    Set Object1 = New Class1

    colObjects.Add Object1

    Set Object2 = New Class1

    Object2.CopyObjects (Object1)

End Sub
Mein Klassenmodul
Private iValue As Double

Private jValue As Double

Private kValue As Double


Sub setValues(i As Double, j As Double, k As Double)

iValue = i

jValue = j

kValue = k

End Sub


Sub CopyObjects(OldObject As Class1)

iValue = OldObject.iValue

jValue = OldObject.iValue

kValue = OldObject.iValue

End Sub

Geschrieben

Hallo,

also so funktioniert es:

Private iValue As Double

Private jValue As Double

Private kValue As Double


Sub setValues(i As Double, j As Double, k As Double)

iValue = i

jValue = j

kValue = k

End Sub


Public Function FuncGetiValue() As Double

FuncGetiValue = iValue

End Function


Public Function FuncGetjValue() As Double

FuncGetjValue = jValue

End Function


Public Function FuncGetkValue() As Double

FuncGetkValue = kValue

End Function


Sub CopyObjects(OldObject As Class1)

iValue = OldObject.FuncGetiValue

jValue = OldObject.FuncGetjValue

kValue = OldObject.FuncGetkValue

End Sub
Sub SubTestCopyObjects()

    Dim colObjects As Collection

    Dim Object1 As Class1

    Dim Object2 As Class1


    Set colObjects = New Collection

    Set Object1 = New Class1

    colObjects.Add Object1

    Set Object2 = New Class1

    Call Object2.CopyObjects(Object1)


End Sub

Weiß jemand vielleicht noch eine Möglichkeit, wie ich ohne diese öffentlichen Get-Methoden auskomme?

Geschrieben

Ich kenne mich eher in VB als in VBA aus, daher weiß ich nicht ob es auch in VBA geht, aber in VB würde ich es über Members und Public/Private property Get bzw. Let machen.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...