Einige Erklärungen zur VBA-Programmierung
Geschichte und Charakterisierung
Die erste höhere (das heißt: gut les- und schreibbare) Programmiersprache FORTRAN war im April 1957 verwendbar.
Die Programmiersprache BASIC entstand im Mai 1964 und kann als eine vereinfachte Variante von FORTRAN angesehen werden. BASIC sollte besonders leicht erlernbar und verwendbar sein. Wegen der leichten Erlernbarkeit lassen sich schnell Erfolge erzielen und daher eignet sich BASIC gut als erste Programmiersprache.
1975 wurde von Micro-Soft ein Programm zur Ausführung von BASIC-Programmen veröffentlicht. Micro-Soft heißt heute Microsoft und ist auch 2015, 40 Jahre später, der Hersteller von VBA.
Im Mai 1984 erschien ein Artikel von Jaron Lanier über „visuelle Programmiersprachen“ in der Zeitschrift Scientific American. Dort wurde gezeigt, wie Computer durch Graphiken „visuell“ programmiert werden können.
1991 erschien die erste Version von Visual Basic ['vɪʒ u əl 'be sɪk]. Sie enthielt einen Programmteil für die „graphische“ Erstellung bestimmter Programmoberflächen, aber die eigentliche Programmierung erfolgte mit einer Textsprache Visual Basic. Die Programmiersprache Visual Basic basiert in freier Weise auf der Programmiersprache BASIC. Auch Visual Basic ist entsprechend anfängerfreundlich.
Die modernen Basic -Sprachen unterscheiden sich vom klassischen BASIC unter anderem durch die Unterstützung verschiedener neuer, seit 1964 populär gewordener Programmiertechniken. Gleichzeitig fehlen aber auch einige Möglichkeiten des klassischen BASIC.
1993 erschien die erste Version von Visual Basic for Applications (VBA). Sie war zur Programmierung von Anwendungsprogrammen gedacht, in welche sie eingebettet wurde, und ähnelte ansonsten Visual Basic stark.
1998-08 erschien mit Visual Basic 6.0 die letzte klassische Visual-Basic -Version. Die nachfolgenden und heutigen Versionen von Visual Basic unterscheiden sich stark von VBA und beruhen auf der .NET-Technik. VBA ist nicht gleichzusetzen mit Visual Basic (VB), hat aber starke Ähnlichkeit mit klassischen Versionen von Visual Basic (bis zur letzten klassischen Visual-Basic -Version 6).
Obwohl VBA heute (2014) nicht mehr besonders intensiv weiterentwickelt wird, beabsichtigt Microsoft nicht, es aus Office zu entfernen (Stand 2014). VBA wirkt wie „eingefroren“, wenn man bedenkt, daß es nicht auf die .NET-Technik umgestellt wurde, und die klassischen Menüs der VBA-Oberfläche nicht auf Menübänder umgestellt wurden. Dies ist aber für Anwender und Programmierer nicht schlecht, da eine Umstellung auf eine andere Sprache bedeuten würde, daß alle alten Programme neu geschrieben werden müssen, und eine Umstellung der Oberfläche eine Umgewöhnung verlangen würde. So können auch alte VBA-Bücher und VBA-Tricks, die es auf vielen Webseiten zu lesen gibt, weiterverwendet werden. Obwohl VBA heute eine relativ „alte“ Sprache ist, erfüllt es die Aufgabe, für die es geschaffen wurde, perfekt.
Ein potentieller Nachfolger von VBA könnte VSTO sein, doch ist letzteres nicht Teil von Office und derzeit faktisch kein Nachfolger von VBA. Zwischenzeitlich gab es seit 2003 auch noch eine Technik namens Script for the .NET Framework, die inzwischen wieder zurückgezogen wurde. Die mit Office 2010 eingeführte Version 7 von VBA unterscheidet sich nur geringfügig von der Version 6, indem sie Adressierung von Speicher mit 64 Bit erlaubt. Gleichzeitig können aber einige klassische Oberflächenelemente (aus den Sammlungen MSComCtl und MSComCt2 ) nicht mehr mit der 64-Bit-Version von Office 2010 zusammen verwendet werden. Mit Office 2013 wurden “Office Apps ” eingeführt, die mit JavaScript und HTML geschrieben werden. Siehe auch: “JavaScript API for Office ”
Insgesamt sieht die Situation für die Office -Programmierung heute etwas weniger gut aus als vor 10 Jahren, denn einerseits wurden mit den Menübänder Oberflächenelemente eingeführt, die für VBA -Programme nicht mehr voll zugänglich sind, andererseits bietet keine der möglichen Nachfolgetechniken VSTO oder Office Apps alle Möglichkeiten, wie sie die VBA -Programmierung einst bot. Sieht man aber einmal von den Menübändern, den fehlenden Menüs/Symbolleisten, wohl auch fehlendem SendKeys und einigen unter der 64-Bit-Version fehlenden Oberflächenelementen ab, so kann man heute (2014) mit VBA Office immer noch weitgehend automatisieren.
Visual Basic for Applications (VBA) konnte bis 2007 in verschiedene Anwendungsprogramm auch anderer Hersteller eingebettet werden. Seit 2007 werden aber keine neuen Lizenzen dafür mehr vergeben.
Visual Basic for Applications (VBA) findet sich in den wichtigen Office -Programmen wie Excel, Word, und Access. Es erlaubt es, diese Programme in einfacher und gleichzeitig flexibler und mächtiger Weise an spezielle Wünsche anzupassen.
Das klassische Visual Basic (bis einschließlich Version 6) und die Windows -Skriptsprache Visual Basic Script sind VBA so ähnlich, daß jemand, der VBA gelernt hat, auch diese Sprachen leicht erlernen kann. VBS ist sogar Teil von Windows und kann damit auch verwendet werden, wenn jemand kein Microsoft® Office besitzt. Wie VBA, so wird auch VBS nicht mehr intensiv weiterentwickelt, soll aber (Stand 2014) auch mit zukünftigen Versionen von Windows ausgeliefert werden.
Spezifikation
Seit 2008-06-30 gibt es eine “VBA Language Specification ” unter dem Kürzel »MS-VBAL«, letzte (Stand 2014) Version 1.02 vom 2014-04-30.
Sie scheint aber unvollständig und fehlerhaft zu sein. Daher wird sie diesem Kurs nicht zugrundegelegt.