text: Inzwischen sind einige Jahre zwischen der bloßen Idee und der Umsetzung vergangen und es bewegt mich zutiefst, dass es nun sogar Schulungen für Patinnen gibt. Ich möchte mich an dieser Stelle bei allen Patinnen und Beraterinnen von ganzem Herzen bedanken! Ihr macht eine so unglaublich wichtige Arbeit und rettet damit Menschenleben!“
  
  Scripting ist äußerst beliebt bei der Problemlösung, auch in Office. So erzeugen Sie mit VBA eindeutige Werte und bekommen lesbare Zeichen mit Unicode.
  Mit Visual Basic For Applications, kurz VBA, sind wahrscheinlich sehr viele IT-Profis eine Art Hassliebe eingegangen. Seit den 1990er-Jahren bietet Microsoft mit VBA im Office-Umfeld eine stabile Entwicklungs- und Makro-Umgebung, von dem kleinen Aussetzer in der Office-Version 2008 für Mac OS einmal abgesehen. Während sich jedoch die anderen Sprachen mit dem Namenszusatz Visual über die Jahre weiterentwickelt haben, verbleibt VBA in seinem bekannten Status. Mit einigen Tricks und Kniffen holt der VBA-Programmierer noch mehr aus dem alten Programmierdinosaurier heraus.
  Es gibt, insbesondere für die Programmierung eigener Lösungen, manchmal die Notwendigkeit, einen absolut eindeutigen Wert zu ermitteln, der auf keinen Fall ein zweites Mal erzeugt werden darf. Ein Beispiel, welches in der Literatur oft angeführt wird, ist das Anlegen einer eindeutigen Kundennummer. An sich ja ganz einfach, man möge doch einfach nur die Nummerntabelle für die Kundendaten in der Datenbank um einen Zähler inkrementieren, und schon hat man seine nächste Kundennummer. Das funktioniert jedoch nur, sofern im Moment der Erstellung des Datensatzes auch eine Verbindung zur Datenbank selbst besteht. Wenn aber ein Außendienstmitarbeiter an seinem Laptop eine neue Nummer generieren will, ohne dass eine Verbindung zum Firmennetzwerk besteht, wäre dies nicht möglich. Anstelle von Kundennummern könnte es sich bei dem Beispiel auch um Dokumenten-Nummern oder Transaktions- IDs handeln. Egal, was der Entwickler mit der ID auch anstellen möchte, sie muss in jedem Fall eindeutig sein.
  Als Grundlage zur Kalkulation eines solchen Wertes eignen sich Uhrzeit, Laufzeit oder die MAC-Adresse der Netzwerkkarte, die ja, zumindest der grauen Theorie nach, stets eindeutig sein sollte. Ein Blick in die Windows-Registry zeigt, dass es eine sehr große Anzahl solcher GUIDs (Globally Unique Identifier) pro Installation gibt. Glücklicherweise muss sich der VBAProgrammierer mit den theoretischen Grundlagen bei der Erzeugung eines GUID kaum auseinandersetzen, sofern er über die passende Windows-API-Funktion vorgeht. Bei der Erzeugung einer GUID mithilfe der API-Funktion CoCreateGuid ist, so Microsoft, wirklich sichergestellt, dass es diese GUID nur ein einziges Mal gibt. Die 16-Byte lange Zahl wird über die Netzwerkkarten- MAC erzeugt und selbst wenn der Anwender über mehrere Jahre mit ein und derselben Netzwerkkarte versucht, GUIDs zu erzeugen, so kommt es zu keiner doppelten Zahl. Eingebunden in eine Microsoft Excel-Datei mit einer Schaltfläche Schaltfläche1 ergibt sich folgender Code:
  Hex-Editoren, wie der kostenfreie Gizmo-Manager für Windows, offenbaren die Gestalt einer Unicode-Datei. Die ersten drei Bytes sind typischerweise gesetzt. In unserem Sprachraum erscheinen Unicode- Dateien stets, als ob das jeweils zweite Byte auf "00" gesetzt ist.
  Wer einmal auf Wikipedia den Begriff Unicode nachschlägt, der wird sich über die Erklärung rund um die Aufgabe "dass langfristig für jedes sinntragende Schriftzeichen oder Textelement aller bekannten Schriftkulturen und Zeichensysteme ein digitaler Code festgelegt wird" freuen. Derzeit stellt sich das mit den sinntragenden Schriftzeichen eher in derForm dar, dass aus einer an sich lesbaren Datei plötzlich nur Kauderwelsch entnommen werden kann. Da helfen die im Moment definierten 110.182 Zeichen in der Version 6.2 von Unicode auch nicht wirklich weiter. Im Jahre 1988 war Joseph D. Becker von Xerox noch der Meinung, man könne mit einer 16-Bit-Zeichensatzcodierung mit 16.384 möglichen Zeichen problemlos alle Schriftzeichen der Welt codieren, da hatte er sich wohl verschätzt.