Hallo Leute,
ich unternehme einen x-ten Versuch, um in VBA programmieren zu lernen. Immer wieder musste ich aus Zeitgründen pausieren, insbes. aber aus Gründen der - meiner Meinung nach - schlechten Dokumentation, die man vorfindet. Ich habe noch nie eine Sprache erlebt, bei der man so kleinschrittige Fortschritte macht bzw. in der man jede Kleinigkeit zunächst testen muss, weil man sich nicht sischer sein kann, ob das kleinste bißchen Code auf Anhieb funktioniert.
Kennt Ihr das auch so? Oder wie habt Ihr den Einstieg in VBA geschafft?
Der Umstieg auf englische Literatur hat zu einigen Fortschritten geführt. Englischsprachige Bücher sind einfach besser. Dennoch fehlen mir noch an vielen Stellen Hintergrundinformationen.
Um VBA zu praktizieren, möchte ich nicht Code-Beispiele auswendig lernen oder aus dem Netz zwischenspeichern, um sie durch Versuch und Irrtum anzupassen. Das sehe ich permanent in meinem Umfeld. Dieses Vorgehen ist für mich ein Graus und heißt, dass man VBA NICHT beherrscht. Auf der anderen Seite findet man selten gute, tiefgehende/technische und vollständige Literatur.
Als gutes Gegenbeispiel will ich die Programmiersprache "C" nennen. Dort weiß man, wie die Dinge funktionieren, weil die Sprache ohnehin keine/kaum Abstraktionen aufweist. Je höher die Programmiersprachen, desto höher der Abstraktionsgrad und umso schlimmer die Analogien, die in der Literatur zur Erklärung herangezogen werden.
Zum eigentlichen Problem.
1) Kennt jemand Literatur, die VBA tiefgehen/technisch und/oder möglichst vollständig erklärt?
2) Kann es sein, dass man in VBA nur Objeke selbst-definierter Klassen erzeugen kann, bspw.
a)
Dim ObjektVariable as new EigenerKlassenName
b)
Dim ObjektVariable As EigenerKlassenName
Set ObjektVariable = new EigenerKlassenName
Ich habe es noch nicht geschafft in analoger Weise (bspw. von WORD) mitgebrachte Objekte/Klassen (Paragpraph, Range, Bookmark, usw.) zu erzeugen. Kann man das überhaupt oder kann man nur auf bereits existierende Objekte zugreifen bzw. muss sich mit diesen begnügen?
Dass eine Office-Anwendung (bspw. Word) Objekte automatisch/intern erzeugt, ist mir klar, bspw. durch das Einfügen von Einträgen in Collections, aber wie lässt sich das bewerkstelligen?
3) Zudem fallen mir andere Szenarien auf, bei denen die Objekt-Erzeugung von Word-Objekten nicht funktioniert wie bspw. in Java: Ich würde gerne auch in Analogie zu Java folgendes machen
Sub erstelleObjekt(ByVal p As Paragraph)
End Sub
Zugehörige Objekt-Erzeugung mit:
erstelleObjekt (New Object) ODER erstelleObjekt (New Object)
|