Der XLB-Defragmentor ist ein weltweit einzigartiges Tool
zum Aufräumen der xlb-Datei von Microsoft Excel.
In der xlb-Datei werden alle Informationen über
benutzerdefinierte Symbolleisten und Steuerelemente gespeichert. Mit der Zeit kann die
Dateigrösse zunehmen, auch wenn keine Anpassungen vorgenommen werden, da immer mehr alte,
fehlerhafte Daten in der Datei mitgeführt werden. Der xlb-Defragmentor misst den
Fragmentierungsgrad, analysiert die xlb-Datei, entfernt alle fehlerhaften Daten und
korrigiert falsche Einträge. Je nach Menge der gelöschten Daten wird die xlb-Datei
erheblich kleiner.
Bei einer zu grossen bzw. zu stark fragmentierten xlb-Datei
besteht die Gefahr, dass sie defekt wird und von Microsoft Excel nicht mehr gelesen werden
kann. Ist die Datei einmal beschädigt, so muss sie gelöscht werden. Es existiert keine
Möglichkeit zum Reparieren der xlb-Datei. Sämtliche vom Benutzer vorgenommen Anpassungen
an Symbolleisten und Steuerelementen gehen somit unwiderruflich verloren.
Einmal abgesehen davon, dass eine kleine, aufgeräumte
Datei generell zu empfehlen ist, gibt es mehrere Gründe, die für die Defragmentierung
sprechen. Die xlb-Datei sollte aus diesen Gründen defragmentiert werden:
Die xlb-Datei wird nicht mehr defekt
Bei einer aufgeräumten, defragmentierten xlb-Datei ist die Wahrscheinlichkeit sehr
viel geringer, dass sie defekt wird. Vereinfacht ausgedrückt nimmt nämlich die Gefahr
einer beschädigten Datei mit ihrer Grösse zu.
Die xlb-Datei wird kleiner
Bei der anhand des XLB-Defragmentors durchgeführten Defragmentierung werden in
erster Linie fehlerhafte Daten aus der xlb-Datei entfernt. Folglich wird dadurch die Datei
kleiner. Bei einer sehr grossen, stark fragmentierten Datei ist eine Grössenreduktion von
99 % absolut realistisch. Ist eine beispielsweise 5 MB grosse xlb-Datei nach der
Defragmentierung noch 50 KB gross, so beträgt die Reduktion 4.95 MB oder eben 99 %.
Der Start von Microsoft Excel wird beschleunigt
Es ist nachvollziehbar, dass die Dauer zum Laden einer kleinen Datei kürzer ist
als bei einer grossen Datei. Beim Excel-Start wird die xlb-Datei eingelesen, was folglich
bei einer grösseren Datei mehr Zeit beansprucht. Je nach Grösse der Datei ist ein
Unterschied von mehreren Sekunden festzustellen.
Das Beenden von Microsoft Excel wird beschleunigt
Dieser Punkt ist insbesondere für Programmierer wichtig, die in ihren Programmen
mittels Automation auf Microsoft Excel zugreifen. Wenn man als Anwender Excel wie gewohnt
verlässt (z.B. über Menü Datei/Beenden), so wird das
Anwendungsfenster geschlossen und Excel beendet. Dieser Vorgang dauert nur kurz; auch bei
einer grossen xlb-Datei. Was man allerdings als Benutzer nicht sieht, ist, dass nach dem
Verschwinden des Anwendungsfensters Excel noch nicht vollständig beendet ist. Excel ist
noch eine ganze Weile damit beschäftigt, die aktualisierte xlb-Datei auf die Festplatte
zurück zu schreiben. Bei einer beispielsweise 10 MB grossen Datei können ohne weiteres
10 Sekunden oder mehr vergehen, bis der Excel-Prozess definitiv beendet ist. Bezüglich
Excel-Automation bedeutet dies, dass nach Schliessen der Excel-Instanz der Prozess noch
lange nicht beendet sein muss. So kann es sein, dass nach Ausführen der beiden
VB-/VBA-Codezeilen "xlApp.Quit" und "Set xlApp = Nothing" Excel
allenfalls noch 10 Sekunden lang weiterläuft. Nicht vergessen sollte man, dass dadurch
die xlb-Datei erst nach 10 Sekunden vollständig auf die Festplatte geschrieben ist. Eine
beispielsweise unmittelbar nach der Excel-Beendigung ausgeführte FileCopy-Anweisung
zum Kopieren der aktualisierten xlb-Datei schlägt fehl.
Es wird weniger Arbeitsspeicher beansprucht
Auch dieser Aspekt sollte
beachtet werden. Wenn beispielsweise Microsoft Excel 97 mit einer 5.5 MB grossen xlb-Datei
gestartet wird, so belegt die Anwendung 15.5 MB Arbeitsspeicher. Wird Excel aber mit einer
20 KB grossen xlb-Datei gestartet, werden lediglich 7.5 MB Speicher beansprucht. Es wird
somit 8 MB weniger Arbeitsspeicher benötigt.
Ein weiterer Punkt ist die erhöhte Speicherbeanspruchung beim Beenden von
Excel. Wie erwähnt belegt Excel 15.5 MB Arbeitsspeicher bei einer 5.5 MB grossen
xlb-Datei. Beim Beenden von Excel steigt der Speicherverbrauch kurzfristig auf rund 24 MB
an, da die in die xlb-Datei zu speichernden Informationen im Arbeitsspeicher aufbereitet
werden müssen. Dieser Vorgang dauert je nach CPU-Geschwindigkeit mehrere Sekunden lang.
Erst dann wird die neue xlb-Datei auf die Festplatte geschrieben. Ist auch dieser Vorgang
durchgeführt, wird der Excel-Prozess beendet und der belegte Sspeicher freigegeben.
Die xlb-Datei wird nicht mehr irrtümlich gelöscht
Es ist tatsächlich der Fall, dass in einer bestimmten Situation eine grosse
xlb-Datei irrtümlich von Excel gelöscht wird. Die Löschung ist endgültig und kann
nicht rückgängig gemacht werden, was bedeutet, dass sämtliche benutzerdefinierten
Anpassungen an Symbolleisten und Steuerelementen unwiderruflich verloren gehen. Die
angesprochene Situation ist alles andere als selten. Wie weiter oben erwähnt wurde,
benötigt Excel bei einer grossen xlb-Datei mehrere Sekunden, bis die Datei vollständig
gespeichert ist. Wenn Sie Excel erneut ausführen, bevor die xlb-Datei fertig
zurückgeschrieben ist, kann die Datei beim Excel-Start nicht geladen werden. Als Folge
startet Excel ohne benutzerspezifische Symbolleisten und Steuerelemente. Da aus Sicht von
Excel beim Start keine xlb-Datei vorhanden war, wird beim Beenden eine neue, leere
xlb-Datei erstellt und somit die vorhandene, inzwischen vollständig zurückgeschriebene
Datei überschrieben. Als Benutzer können Sie die abgeschlossene Speicherung nur anhand
der Grösse der xlb-Datei erkennen. Solange der Schreibvorgang läuft, wird im Windows
Explorer die Dateigrösse mit 0 KB oder 1 KB (bzw. 22 Bytes) angezeigt.
Dieses fehlerhafte Verhalten tritt bei allen Excelversionen auf. Es
ist insbesondere bei Microsoft Excel 2002 ein Problem, da diese Version vergleichsweise
viel Zeit zum Schreiben der xlb-Datei benötigt und es dadurch oft zum Datenverlust kommt.
Microsoft hat daher eigens für die Behebung dieses Problems einen separaten Hotfix
bereitgestellt (siehe unter MS KB-Artikel 330345 "Custom Toolbars Are Lost After You Quit
Excel"). Dieser Fix ist nicht im derzeit aktuellen Service Pack, dem Microsoft
Office XP Service Pack 2, enthalten. Er wird erst Bestandteil des nächsten, allerdings
noch nicht angekündigen Service Packs 3 sein (sofern es jemals ein Service Pack 3 geben
wird). Für die Excelversionen 97 und 2000 ist kein Fix verfügbar.
Die an eine Arbeitsmappe angebundenen Symbolleisten werden
korrekt geladen
Es kann passieren, dass beim Öffnen einer Arbeitsmappe die in der
Arbeitsmappendatei gespeicherte Symbolleiste nicht geladen wird. Wenn die xlb-Datei eine
bestimmte Grösse erreicht hat bzw. eine bestimmte Menge an Informationen enthält, so
steht nicht genügend Speicher zum Laden der in der Mappendatei enthaltenen Symbolleiste
zur Verfügung. Als Folge wird die Symbolleiste beim Öffnen der Arbeitsmappe nicht
geladen und somit nicht angezeigt, und sie kann auch nicht über das
"Anpassen"-Dialogfenster eingeblendet werden. Für Microsoft Excel existiert
diese Symbolleiste ganz einfach nicht. Verwirrend ist insbesondere, dass im Dialogfenster
"Symbolleiste anbinden", welches über die Schaltfläche "Anfügen"
des "Anpassen"-Dialogfensters geöffnet wird, die Symbolleiste ebenfalls nicht
aufgeführt wird. Dass sie dennoch in der Mappe enthalten ist und von Excel sogar erkannt
wird, stellt man fest, wenn man die Arbeitsmappe unter einem anderen Namen speichert. Die
scheinbar nicht existierende bzw. geladene Symbolleiste wird korrekt in der neuen Mappe
gespeichert. Es sollte zudem beachtet werden, dass es keine Möglichkeit gibt, die
angebundene Symbolleiste zu entfernen, da sie wie erwähnt im Dialogfenster
"Symbolleiste anbinden" nicht aufgelistet ist und somit auch die Schaltfläche
"Löschen" nicht existiert.
Durch die Art und Weise wie Microsoft Excel Symbolleisten
im Speicher verwaltet, kommt es gelegentlich vor, dass - insbesondere durch unsauberes
Löschen von benutzerdefinierten Menüs - fehlerhafte und somit überflüssige
Informationen in der xlb-Datei gespeichert werden. Diese Informationen bleiben für immer
in der Datei liegen, da Excel selbst keine Bereinigung vornimmt. Man kann weder über die
Excel-Arbeitsoberfläche noch mit einem herkömmlichen VBA-Makro die xlb-Datei von den
fehlerhaften Daten befreien. Mit anderen Worten: Auch wenn Sie über das
Anpassen-Dialogfenster sämtliche benutzerdefinierten Symbolleisten und Steuerelemente
löschen und alle integrierten Symbolleisten zurücksetzen, bleiben die fehlerhaften Daten
in der xlb-Datei liegen. Auch ein entsprechendes VBA-Makro, d.h. das Löschen bzw.
Zurücksetzen aller Objekte der CommandBars-Auflistung nützt nichts. Der XLB-Defragmentor
jedoch kann die fehlerhaften Daten vollständig entfernen.
- XLB-Defragmentor Version 1.2 (Build 63)
- Windows-Programm (exe)
- Für Excel 97, 2000 und 2002
- Mit integrierter Online-Hilfe
- Mit Setup-Programm
- Erhältlich als Freeware Edition und Shareware Edition
- Geplante Veröffentlichung des XLB-Defragmentor Version 2.0: Ende Februar 2004
- Microsoft Windows 95, Windows 98, Windows ME, Windows NT,
Windows 2000 oder Windows XP
- Microsoft Excel 97, Excel 2000, Excel 2002/XP oder Excel 2003
Es wird empfohlen, das Programm in ein lokales Verzeichnis
zu installieren (z.B. 'C:\Programme\XLB-Defragmentor'). Die momentan erhältliche Ausgabe
des XLB-Defragmentors ist nur eingeschränkt MultiUser-tauglich. Die nächste
Programmversion wird den MultiUser-Betrieb vollumfänglich unterstützen.
Wenn Sie das Setup-Programm (setup.exe) von einem
Netzlaufwerk ausführen, kann die Fehlermeldung "Invalid command-line parameters.
Unable to continue." auftreten. Diese Meldung erscheint, wenn der Dateipfad der Datei
setup.exe einen Bindestrich (-) enthält. Ändern Sie in diesem Fall den Pfad ab, sodass
er keinen Bindestrich mehr aufweist, oder verschieben Sie den Ordner mit der Datei
setup.exe auf eine lokale Festplatte.