The eXpLorer - Discovering Secrets and Strange Things in Excel

Klicken für Hauptseite von 'xlam - Excel and more!'

 

Aktuell Neuigkeiten Themenliste Autor Kontakt Info

 

Was ist The eXpLorer?

Welchen Zweck besitzt The eXpLorer?

 

Was ist The eXpLorer?

Wenn Sie Informationen über ungewöhnliche Dinge in Microsoft Excel suchen, dann sind Sie hier absolut richtig. Auf dieser Website finden Sie nämlich ausschliesslich Berichte über versteckte Funktionen, geheime Parameter, seltsame Verhaltensweisen, schwer nachvollziehbare Vorgänge und verborgene Features.

Ich gehöre scheinbar zu der speziellen Sorte Excel-Benutzer, die sich insbesondere für diejenigen Dinge interessiert, mit denen man normalerweise nichts zu tun hat. Ich versuche oft, Excel bzw. Excel-VBA auf irgend eine Art und Weise auszureizen. Daher auch der Name "The eXpLorer": Er steht für Analysieren, Erforschen und Austesten. Ich spiele dabei wohlgemerkt nicht einfach mit Excel herum und finde so auf gut Glück irgend etwas ungewöhnliches. Ich gehe vielmehr geplant vor und suche gezielt - soweit es die Situation zulässt - nach "verborgenen Schätzen". Durch dieses Erforschen konnte ich schon viele Bugs, Features und undokumentierte Möglichkeiten aufspüren, die sich zum Teil ganz gut zum Lösen von bestimmten Aufgaben/Problemen einsetzen lassen.

 

Welchen Zweck besitzt The eXpLorer?

Als ich zum Beispiel die Methode ActivateMicrosoftApp des Application-Objektes untersuchte, so interessierte mich nicht primär, welchen Zweck die Methode besitzt und welche Parameter-Konstanten sie benutzt. Mich interessierte vielmehr herauszufinden, wozu man die Methode sonst noch verwenden kann, ob es sich bei den dokumentierten Parameterwerten tatsächlich um alle erlaubten Werte handelt und wie die Methode im Fehlerfall reagiert.

Gerade ActivateMicrosoftApp verbirgt Erstaunliches: Abgesehen davon, dass ich zwei undokumentierte Parameterwerte entdeckt habe, lässt sich die Methode auch hervorragend zum Starten eigener Anwendungen "missbrauchen", also nicht nur Microsoft Applikationen. ActivateMicrosoftApp macht grundsätzlich das Gleiche wie die Shell-Funktion. Sie startet jedoch eine Anwendung synchron; und nicht asynchron, wie es bei Shell der Fall ist. Wie sich dieser grosse Vorteil (der vielleicht auf den ersten Blick eher als nebensächlich erscheint) praktisch nutzen lässt, erfahren Sie im Bericht "ActivateMicrosoftApp".

Möchten Sie ein weiteres Beispiel? Dann überlegen Sie sich mal, wie diese Anforderung mit VBA programmiert werden könnte:
- Eine geöffnete Arbeitsmappe wird an verschiedenen Stellen im Programmablauf als Datei gespeichert
- Die Dateien werden im Temp-Ordner abgelegt
- Die Dateien besitzen die Dateiendung "tmp"
- Der Name der Dateien besteht aus einer Zahl
- Bei jedem Speichern erhöht sich die Zahl um den Wert 1
Die erste gespeicherte Datei besitzt somit den Namen "<n>.tmp", die zweite Datei den Namen "<n+1>.tmp", die dritte Datei "<n+2>.tmp" und so weiter.

Das entsprechende VBA-Programm zum Lösen dieser Anforderung enthält sehr wahrscheinlich diese Funktionalitäten:
- Ermitteln des Temp-Ordners anhand einer API-Funktion
- Speichern der ersten Datei "<n>.tmp", wobei geprüft werden muss, ob es eine Datei mit diesem Namen bereits gibt. Wenn dies der Fall ist, muss der erste gültige Dateiname "<n+x>.tmp" ermittelt werden.

To Top

Zuletzt aktualisiert am 27.01.2006 / 20:30 Uhr

The eXpLorer - Discovering Secrets and Strange Things in Microsoft Excel
© 2002-2006 by Philipp von Wartburg, CH-8916 Jonen
Alle Rechte vorbehalten