Übungsbeispiel nicht durchführbar (VBA)

Otmar, Dienstag, 12.07.2016, 08:32 (vor 1226 Tagen)

Hallo,
ich möchte
http://www.vba-tutorial.de/objekte/auflistungen.htm
durchführen, bekomme aber bereits vorher:

Fehler beim Kompilieren:

Benutzerdefinierter Typ nicht definiert

Aber der Typ Airbag müsste doch durch die

Collection

bereits definiert sein?
Vielen Dank.


Modul Standard
Option Explicit

Public Sub Autos()
Dim meinAuto As Auto
Set meinAuto = New Auto
meinAuto.AirbagsEinbauen
meinAuto.Airbags("Fahrer").aktivieren
meinAuto.Airbags(2).aktivieren
Debug.Print meinAuto.Airbags(1).Name
Debug.Print meinAuto.Airbags.Count
End Sub


Klassenmodul Auto
Option Explicit
Private myAirbags As New Collection

Public Property Get Airbags() As Collection
Set Airbags = myAirbags
End Property

Public Sub AirbagsEinbauen()
Dim Air1 As New Airbag, Air2 As New Airbag
Air1.Name = "Fahrer"
Air2.Name = "Beifahrer"
myAirbags.Add Air1, "Fahrer"
myAirbags.Add Air2, "Beifahrer"
End Sub

Übungsbeispiel nicht durchführbar

Martin Asal @, Dienstag, 12.07.2016, 09:40 (vor 1226 Tagen) @ Otmar

Hallo Otmar,

Benutzerdefinierter Typ nicht definiert

Aber der Typ Airbag müsste doch durch die Collection bereits definiert sein?

Nein. Zu Beginn der Seite Auflistungen heißt es: "Wir gehen davon aus, dass wir schon eine Klasse Airbag erstellt haben, die eine Name-Eigenschaft und eine aktivieren-Methode besitzt." Demzufolge musst du erst ein Klassenmodul namens "Airbag" erstellen, und das braucht mindestens eine Function namens "aktivieren" sowie eine Property namens "Name".

Dieses Klassenmodul sollte ein Leser eigenständig erstellen können, wenn er die beiden vorhergehenden Kapitel (Methoden, Eigenschaften) durchgearbeitet hat. Im Tutorial selbst ist das Klassenmodul allerdings nicht zu finden - nur unter Me-Objekt wird es später teilweise gezeigt.

Ich denke, ich werde das Tutorial Dank deines Hinweises noch leicht überarbeiten, damit verständlicher wird, dass man hier selbst was tun muss ;-)

Martin

Danke, Martin.

Otmar, Freitag, 15.07.2016, 17:14 (vor 1223 Tagen) @ Martin Asal

nur unter Me-Objekt wird es später teilweise gezeigt.

Es lief dann zwar, aber ich weiß nicht, warum. Leider bin ich zu dumm, Deine Antwort zu verstehen.
:-(

Von der Semantik des besagten Me-Objekts ganz zu schweigen. Und etwa von Formularen. Nach derartigen Mechanismen für unsere Prozesse suche ich nämlich seit Jahren heimlich.
;-)

Ich werde meinen Arbeitgeber um die Bewilligung von 3 Tagen VBA-Schulung bitten, von Grund auf, in der Hoffnung, dereinst auch zu dem Kreis der Gebildeten zu gehören.
:-D

So nebenher, während des Tagesgeschäfts, klappt das nicht. Aber einen Versuch war es wert, und Dein Tutorial nehme ich gern mit, zum Nachschlagen. Danke noch einmal.
:-)

Viele Grüße aus der Nähe, Otmar.
:vba:

Danke, Martin.

Martin Asal @, Freitag, 15.07.2016, 21:55 (vor 1223 Tagen) @ Otmar

Hi,

ich habe das Kapitel über Auflistungen gerade überarbeitet. Vielleicht ist es jetzt klarer. Im übrigen ist es gar nicht so schlimm, wenn man mit dem Erstellen von Objekten als Anfänger erst mal noch nicht zurechtkommt - für den Anfang reicht es, wenn man mit den in den Applikationen vorhandenen Objekten umgehen kann.

Grüße in die Heimat meiner Ahnen
Martin

RSS-Feed dieser Diskussion
powered by my little forum