Sitemap  · Français  · English  · Deutsch
Home » Blog » Artikel

Artikel

Testergebnisse meiner VBA Anwendungen in Excel 2010

01.09.2009
Ich habe heute alle meine in VBA implementierten Anwendungen in Excel 2010 getestet. Diese verwenden intensiv UserForms, Klassen und Windows API-Funktionen. Zudem setzen die meisten Anwendungen dynamische und/oder statische Verweise auf eigene Module oder fremde Bibliotheken, wie z.B. zur Anbindung von Access Datenbanken über DAO/ADO oder den Adobe bzw. weiteren Bibliotheken zur Generierung von PDF’s. Ausserdem verwende ich häufig zusätzliche Steuerelemente in den UserForms, wie ListViews, TreeViews oder ProgressBars. Über XML-Dateien wird in der Regel die Mehrsprachigkeit der Anwendungen gewährleistet.

Klar, primär ging es mir in dem Test in Excel 2010 darum, zu ermitteln, ob alle Anwendungen grundsätzlich in Excel 2010 lauffähig sind. Andererseits war ich auch neugierig, ob die Entwickler bei Microsoft doch nicht irgendwelche Veränderungen oder vielleicht auch Fehler eingebaut haben

Als Testumgebung haben wir den Windows 2008 Server in Deutsch und eine Parallelinstallation von Office 2003, Office 2007 und Office 2010 verwendet. Den Test haben wir auch in einer virtuelle Maschine mit Windows XP SP3 und Office 2010 wiederholt. Folgend in einer Zusammenfassung die Ergebnisse der Tests zu ein paar ausgewählten Anwendungen.

Als erstes habe ich meine Anwendung zur Bearbeitung von Reklamationslisten geprüft. Eine Kernfunktion der Anwendung ist anhand von Excel Vorlagen Reklamationsberichte zu generieren und diese anschließend mit zuvor in einer Datenbank angelegten Daten befüllen. Die Berichte liegen im Excel 2003 Format vor und verwenden eine eigene Farbpalette und einige Zeichenobjekte zur optischen Verschönenerung. Folgend ein Beispielbericht.

Excel Sharp CDL

Eine Palette - letztendlich eine UserForm – ist während der Anzeige des Berichtes aktiv und ermöglich beispielsweise diverse Filter zusetzen oder Daten zu ändern. Hierzu wird per Code auf Tabellen, Bereiche oder Zellen zugegriffen und entsprechende Operationen durchgeführt. Ausserdem kann ein PDF generiert und dieses per Outlook direkt an jemanden versandt werden. In Excel 2010 traten beim Testen dieser Funktionen keinerlei Probleme auf, einzig eine Rückfrage beim erstmaligen Speichern des Berichtes bezüglich einem Genauigkeitsverlust musste bestätigt werden. Alle weiteren Dialoge der Anwendung inklusive der Anbindung an die Datenbank funktionierten ohne Probleme. Ebenfalls wurden die XML Dateien korrekt geladen.

Die Anwendung ermöglicht des Weiteren Gesamtberichte zu erstellen. Dieser verwendet unter anderem auch die Schriftart „Wingdings“ zur optischen Hervorhebung einiger Elemente. In Excel 2010 werden jedoch einige Zeichen dieser Schriftart nicht angezeigt, es scheint also ein Problem bei der Umwandlung zu geben. Dies betrifft insbesondere die Zeichen 0x9E und 0x9E (ein kleinerer und ein größerer „Punkt“ in Wingdings). Wobei auf Nachfrage im MS Connect Forum, dies nicht an allen Rechnern problematisch zu sein scheint.

Als nächstes habe ich eine Anwendung getestet, die in einer UserForm wiederum die Schriftart „Windings“ verwendet. Hier werden die Zeichen werden korrekt angezeigt. Ungewöhnliche Layouts für VBA-Dialoge sind ebenfalls kein Problem.

Excel Sharp SNR

Anschließend habe ich meine Anwendung zum Projektmanagement getestet. Eine Installationsroutine für diese Anwendung wurde übrigens mit dem kostenlosen Tool „Inno-Setup“ erstellt. Nach der Installation in C:\Programme\Excel Sharp\ schlug der Start der Anwendung erstmal fehl. Excel 2010 meldet „Office File Validation detected a problem while trying to open this file. This file could potentially contain harmful content and has been blocked from opening.” Ok, klar, der Installationsordner ist für Makros noch gesperrt. Insofern habe ich zunächst über die Excel Optionen (Trust Center – Trust Center Settings - Trusted Locations) den Ordner den vertrauenswürdigen Speicherorten hinzugefügt. Ähnlich wie bei der zuerst getesteten Anwendung, verwendet diese Anwendung Excel 2003 Vorlagen zu Verwaltung von Projektschritten. Hier befindet sich jedoch der relevante Teil des Codes in den Vorlagen selber, auch zum Beispiel zur Synchronisation mit einer Datenbank. Ausserdem enthalten die Vorlagen diverse Steuerelemente aus der Formularsymbolleiste. Eine Projektdatei nutzt zudem einen Algorithmus zum Zeichnen von Hierarchien duch das Erstellen, Löschen und Positionieren von Zeichenobjekten.

Excel Sharp IGM

Generell werden die Steuerelemente in Excel 2010 etwas unscharf dargestellt, sind aber in Ihrer Funktionalität nicht eingeschränkt. Beim Abspeichern und erneutem Öffnen mussten wir hier leider feststellen, dass Zeichenobjekte, die eine Formel enthalten nicht aktualisiert werden. Das Problem ist jedoch bekannt und wir hoffen, dass dies in der finalen Version von Office 2010 behoben ist.

Der Kern der Anwendung zum Projektmanagement besteht in der Erstellung und Verwaltung eines Projektplans. Ein Balkendiagram visualisiert die entsprechenden Zeitabschnitte.

Excel Sharp IGM

Im Gegensatz zu Excel 2003 lässt sich Excel 2010 etwas deutlich mehr Zeit bei Neuzeichnen der Objekte; der Bildschirmausschnitt flackert etwas trotz entsprechender Anweisungen im Code. Funktional sind keine Probleme zu vermelden.

Ein Problem, welches bei Excel 2007 auftritt, ist die unkorrekte Umwandlung von Zeichenobjekten ohne bzw. mit Text. Das Problem äußerte sich insoweit, dass aus einfachen transparenten Rechtecken Textfelder wurden und wenn diese über weiteren Objekten lagen, es dann nicht mehr möglich war an die Hintergrundobjekte heranzukommen.

In einer meiner Anwendungen hatte ich in der Version für 2003 aus layouttechnischen Gründen einigen Gebrauch von solchen Objekten gemacht. Zwar habe ich anschließend das Layout überarbeitet, so dass dieses auch in Excel 2007 zu verwenden war, aber wie würde sich die Originalanwendung nun in Excel 2010 verhalten?

Excel Sharp NUT

Auch hier musste ich leider feststellen, dass dies in Excel 2010 bislang nur ansatzweise gelöst wurde. Zwar sind vieler der Rechtecke nun korrekt, allerdings nicht alle. Ausserdem werden machmal willkürlich die Schriftarten verändert. Ein Test mit der für Office 2007 erweiterten Original-Anwendung verlief zwar besser, hier verschwand jedoch ab und zu das Diagramm aus mir unerfindlichen Gründen. Zudem wurde es beim Abspeichern komplett entfernt.

Alles in Allem verlief unser Test relativ erfolgreich, alle per Code implementierten Funktionen wurden problemlos ausgeführt. Das Verwenden von Frembibliotheken erwies sich ebenfalls als unproblematisch. Einige Probleme traten jedoch bei der Konvertierung von Excel 2003 Mappen auf, aber es ist ja noch eine Technical Preview. Ich bin gespannt, wie sich dann Excel 2010 in der Beta-Version schlägt.

Zuletzt noch ein Hinweis, seit der Installation der TP sind die Makro-Rekorder-Funktionalitäten von Excel 2003 und Excel 2007 quasi kaputt. Makro-Aufzeichnungen liefern fehlerhafte Syntaxanweisungen und, würde ich tippen, Debugging-Code. In Excel 2010 funktionieren indes Aufzeichnungen. Dieses Problem ist auch bekannt und wird, denke ich, in der nächsten Version erledigt sein.