Thema Datum  Von Nutzer Rating
Antwort
12.06.2025 15:41:03 Gast34772
NotSolved
12.06.2025 18:20:09 ralf_b
NotSolved
12.06.2025 22:51:51 Gast33559
NotSolved
12.06.2025 21:20:31 xlKing
NotSolved
12.06.2025 21:27:46 xlKing
NotSolved
12.06.2025 22:58:31 Gast62489
NotSolved
12.06.2025 23:51:53 Gast39034
NotSolved
13.06.2025 01:15:55 Gast18859
NotSolved
Rot Objekt-Erzeugung
15.06.2025 23:33:58 Gast75879
NotSolved
16.06.2025 08:33:55 Gast99689
NotSolved
16.06.2025 14:54:51 Gast31933
NotSolved
17.06.2025 10:05:53 Gast12678
NotSolved
17.06.2025 10:52:52 Gast8748
NotSolved
17.06.2025 11:09:24 Gast15947
NotSolved
17.06.2025 14:26:52 Gast46300
NotSolved
17.06.2025 16:59:25 xlKing
NotSolved
17.06.2025 22:16:39 Gast993
NotSolved

Ansicht des Beitrags:
Von:
Gast75879
Datum:
15.06.2025 23:33:58
Views:
22
Rating: Antwort:
  Ja
Thema:
Objekt-Erzeugung

Hallo,

deinen Frust mit Objekten in VBA kann ich nachvollziehen, aber dein Vergleich von objektorientierten Programmiersprachen mit VBA ist nicht sinnvoll. VBA ist nun mal keine "echte" objektorientierte Sprache und die Objektorientierung in OOP wurde nur unvollständig implementiert. Solche Vergleiche sind daher nicht zielführend. Die Syntax wurde in weiten Teilen dadurch beeinflusst, dass sich die VBA-Sprache an den Möglichkeiten des COM-Systems orientiert und angelehnt hat. Unter allen Möglichkeiten, die die OOP bietet, ist im Prinzip nur eine eingeschränkte Variante von Polymorphismus übrig geblieben. Also gibt es keine Vererbung, keine abstrakten oder anonymen Klassen und so weiter.

Des weiteren ist das Prinzip in VBA, daß man oft Objekte einer Anwendung nicht einfach instanziieren kann, sondern sie sind sehr oft "public, not createable", soll heißen, man fügt einer übergeordneten Auflistung per Add-Methode ein neues Objekt hinzu und dabei wird eine Referenz auf dieses "neu erzeugte" Objekt zurückgegeben, quasi als würde man ein Factory-Pattern verwenden. Dieses Paradigma zieht sich durch alle Office Objektmodelle.

Da die Sprachen VB6 und VBA weitestgehend identisch sind, kannst du für Hintergrundimformationen auch in der VB6 Literatur nachschauen, die, weil VB6/VBA aber schon sehr alt ist, meistens leider nicht mehr verfügbar sind, z.B. "Microsoft Visual Basic Design Patterns von William Stamatakis", aber immerhin findet man für VB6 und OOP ein paar weiterführende und interessante Artikel zu dem Thema im Internet. 

Für den Anfang könnte man z.B. hier einsteigen:

https://morsagmon.com/blog/object-oriented-programming-with-excel-vba-part-1/

 

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
12.06.2025 15:41:03 Gast34772
NotSolved
12.06.2025 18:20:09 ralf_b
NotSolved
12.06.2025 22:51:51 Gast33559
NotSolved
12.06.2025 21:20:31 xlKing
NotSolved
12.06.2025 21:27:46 xlKing
NotSolved
12.06.2025 22:58:31 Gast62489
NotSolved
12.06.2025 23:51:53 Gast39034
NotSolved
13.06.2025 01:15:55 Gast18859
NotSolved
Rot Objekt-Erzeugung
15.06.2025 23:33:58 Gast75879
NotSolved
16.06.2025 08:33:55 Gast99689
NotSolved
16.06.2025 14:54:51 Gast31933
NotSolved
17.06.2025 10:05:53 Gast12678
NotSolved
17.06.2025 10:52:52 Gast8748
NotSolved
17.06.2025 11:09:24 Gast15947
NotSolved
17.06.2025 14:26:52 Gast46300
NotSolved
17.06.2025 16:59:25 xlKing
NotSolved
17.06.2025 22:16:39 Gast993
NotSolved