VBA unter der Lupe

VBA ROI

Meines Erachtens gibt es keine andere programmatische Unterstützung, welche sich so schnell rechnet.

  • Ich brauche kein eigenständiges Programm. VBA wird mit den Anwendungen ausgeliefert. Es ist kostenlos dabei!
  • Keine Lizenzgebühren    
  • Unter der Voraussetzung, dass es richtig konzipiert ist (Add-In), ist es sehr gut zu warten.
  • Durch Automatisierung wird nicht nur Arbeitszeit eingespart, sondern es werden auch Fehler vermieden.
  • Die Anwender bleiben in ihrer gewohnten Umgebung und nehmen dadurch das Programm schneller an.

VBA Vorteile

  • Es kommt mit der Anwendung – ich brauche kein zusätzliches Programm.
    • Ich habe Excel, ich habe VBA für Excel dabei
    • Ich habe Word, ich habe VBA für Word dabei
    • Ich habe Outlook, ich habe VBA für Outlook dabei.
  • Ich kann Anwendungsübergreifend programmieren
    • Ich kann aus Excel Word steuern und umgekehrt.
    • Ich kann Daten aus Outlook holen, diese in meine Excel Liste schreiben und wenn ich will dann einen Serienbrief in Word automatisieren.
  • Ich kann mir Funktionalitäten über den Makrorekorder aufzeichnen und diese dann in für mich nützlichen Code umwandeln
  • Die Grundstrukturen sind leicht zu erlernen (oh – aber dies ist nicht immer ein Vorteil)
  • Einfache Aufgaben kann ich in relativ kurzer Zeit automatisieren.

VBA hat auch seine Defizite

Man darf nicht verschweigen, dass VBA auch schnell an seine Grenzen stoßen kann. Aber wenn ich über diese Grenzen hinaus will, dann ist nun mal VBA in diesem Fall nicht das geeignete Mittel.

Dialoge

Diese sind eine ganz große Schwäche von VBA. Von MS extrem vernachlässigt, sogar kontraproduktiv behandelt. Man kann nur sehr wenige Elemente zuverlässig benutzen und sie können an einigen Stellen Probleme bereiten. Dazu kommt, dass sie im Vergleich zu modernen Oberflächen potthässlich sind.

Die Wahrheit ist aber auch, dass für die tägliche Arbeit diese Dialoge in der Regel vollkommen ausreichend sind und wenn man diese intuitiv bedienbar macht und für den Anwender genau das machen, was sie machen sollen: Die Arbeit erleichtern. Und das ist der Sinn!

Sicherheit

Jeder hat schon von Makroviren gehört und natürlich kann man in VBA auch viele böses machen. Aber dies kann man in jeder Programmiersprache. Hier ist die IT aber mittlerweile sensibilisiert und auch die Anti Viren Programme schlagen schnell an.

Ganz entscheidend ist dabei ob man einen Fremdcode hat oder einen in oder für die Firma entwickelten Code.

Schutz

Es gibt keinen Schutz für den Programmcode, der diesen Namen verdient. Mit nur wenig Aufwand kann der Programmcode eingesehen werden, auch wenn er Passwort geschützt ist.

Aber auch hier gilt: Wenn etwas so geheim ist, dass es auf keinen Fall gesehen werden darf, dann gehört es nicht in VBA.

Und dann noch ein paar Tränen

Ich denke, dass VBA eine der am meisten belächelten Anwendungsprogrammierung der Welt ist. Jedenfalls bei den Programmierern, welche nur glauben, dass sie programmieren könnten. Ein guter Programmierer wird sich niemals über eine andere Programmiersprache lustig machen.

Schon seit längerem sehe ich mit Erschrecken, dass in den Ausbildungsberufen zur Programmierung anscheinend nur noch irgendwelche App Programmierungen für Smartphones und desgleichen gelehrt werden. Ich würde die Professoren und Ausbilder gerne mal für einige Zeit in die Realität schicken. Damit diese durch die Abteilungen in Firmen gehen, um zu sehen in welchem Umfang z.B. Excel genutzt wird. Dies ist in vielen Fällen das tägliche Brot der arbeitenden Bevölkerung.

Und wenn man dann sieht, dass die hippen jungen Programmierer an einfachsten Dingen scheitern, wenn es um Office Anwendungen geht …

Aber auch das Management ist seit Jahrzehnten in diesem Bereich hinterher.

Wie viele immer wiederkehrende Arbeit werden stumpfsinnig Tag für Tag, Woche für Woche, Monat für Monat wiederholt, die mit relativ geringem Aufwand automatisiert werden könnten!

Aber auch hier sind die Leistungen der Programmierer nicht ganz unschuldig, denn wenn Leute beauftragt werden, die vielleicht gute Programmierer sind, aber von der Anwendung keine Ahnung haben, dann wird leider am Ende nicht viel Gutes dabei herauskommen.

Z.B. was nützt der tollste Code, um Zellen zu füllen, wenn der Programmierer nicht weiß, dass so ein Blatt auch mal geschützt sein kann.