Autor: Peter Haserodt  --- Aus Excel Standard - Gruppe: Tutorials

Excel 2007/2010 - Zip Struktur - Daten ändern

Autor: Peter Haserodt - Erstellt: ?      - Letzte Revision: ?

Excel 2007 - ZIP Struktur und der Umgang damit

Hinweis:

Dieses Tutorial ist für den geübten Anwender.
Sie sollten sicher im Windows Explorer sein, Dateien in einem Texteditor bearbeiten können und zumindest rudimentär mit zip umgehen können.

Arbeitsmappen sind in Excel 2007 zip komprimierte Dateien.
Das bedeutet, dass sich hinter Dateien mit der Endung xlsx (normale Datei) oder z.B. xlsm (Datei mit Makros) sich viele Ordner und Dateien befinden (können).

Aber ein Schalk der denkt, damit wäre das Bearbeiten von solchen Dateiteilen einfach.
Ich muss gestehen, dass ich am Anfang dort ein wenig verwirrt in der Gegend rumzippte.
Dies will ich Ihnen ersparen und Ihnen die Technik erläutern.

Wichtig ist es, das Sie für einige Teile dieser Erklärungen ein ZIP Programm haben. Das Windows interne Zip reicht nicht.
Z.B. gibt es das kostenlose 7.zip, welches in seiner Betaversion 4.44 (Stand April 2007) auch für Vista geeignet ist.

http://www.7-zip.org/download.html

Welches Zip Programm Sie auch immer nutzen, Sie sollten mit seiner Funktionalität vertraut sein.
Vor allem, wie man Dateien/Ordner einem Zip File hinzufügt, bzw. ersetzt.
(Beachten Sie bei 7.zip, auf Zip einzustellen)

Wie Sie sehen, ZIP oder Nicht ZIP - das ist hier die Frage.

Testumgebung

Als erstes benötigen wir eine Testumgebung, damit wir vernünftig arbeiten können.
Erstellen Sie sich einen Ordner mit dem Namen Test2007
In diesem Ordner erstellen wir drei weitere Ordner:
Arbeit
Original
Zip


Jetzt brauchen wir noch eine Testdatei.
Hier nehmen wir für den Anfang eine simple xlsx.
Also erstellen Sie eine neue Mappe in Excel (mit drei Arbeitsblättern), schreiben Sie in die Zelle B2 des ersten Blattes Online Excel.
Speichern Sie die Mappe nun mit dem Namen Test im Ordner Original.

Schließen Sie nun die Mappe!

Kopieren Sie nun die Mappe vom Ordner Original in den Ordner ZIP.

Erstes Zipperlein

In unserem Ordner ZIP ändern wir nun die Dateibezeichnung der Datei test.xlsx in test.xlsx.zip
Wir fügen also einfach ein .zip hintendran und ignorieren die Warnmeldung von Windows. (Also bestätigen das Ändern)

Nun kommt der entscheidende Moment:
Wir entpacken die Datei, dazu können wir entweder unser Zip Programm nutzen oder auch Windows (XP oder Vista).
(In XP oder Vista rechte Maustaste und alle extrahieren)
Wichtig ist, dass wir keinen Doppelklick darauf machen, sondern wirklich extrahieren!

Nachdem Sie dies gemacht haben, sollte im Ordner ZIP folgendes sein:
Einmal die Datei test.xlsx.zip und ein Ordner test.xlsx.
Nun löschen wir als erstes unsere Datei test.xlsx.zip gnadenlos weg, damit sie uns nicht mehr stört.
Danach schauen wir uns den Ordner test.xlsx genauer an:

test.xlsx[Content_Types].xml
_rels.rels
docPropsapp.xmlcore.xml
xlsharedStrings.xmlstyles.xmlworkbook.xml
_relsworkbook.xml.rels
themetheme1.xml
worksheetssheet1.xmlsheet2.xmlsheet3.xml


Wenn Sie nun glauben, dass ich Ihnen erkläre, was sich hinter dem alles verbirgt, dann irren Sie gewaltig.
Dies ist nicht das Thema. Aber sicherlich werden Sie neugierig sich die einzelnen Dateien in einem Texteditor oder xlm Editor anschauen.

Wichtig für uns ist es zu verstehen, das die Information der Arbeitsmappe sich in verschiedenen Ordnern und Dateien befinden.
Weiterhin wichtig ist es zu sehen, dass die Informationen in Klartext vorliegen. (Es gibt hier Ausnahmen, z.B. wenn VBA Code enthalten ist)
Ich kann und will hier auch kein XML Tutorial schreiben, wer sich näher damit beschäftige will, finder im WEB sehr viel dazu.
Tatsächlich ist es für uns auch nicht ganz so wichtig, wir können auch weitgehend ohne tiefere Kenntnisse damit arbeiten, wobei natürlich Kenntnisse von Vorteil sind, zumindest Html Kenntnisse, um die grundlegenden Strukturen zu erkennen.
Aber wie gesagt, wir können auch im Blindflug einiges erledigen.
Schauen Sie sich die ganze Sache mal in Ruhe an, bevor Sie weiterlesen.
 Peter Haserodt
  • Formelhilfe
  • Makroentwicklung
  • VBA-Programmierung
  • + + + + + + + + +

Wir erzeugen einen Crash

Sie haben Angst? Ha, nur wer wagt gewinnt - oder fliegt auf die ..

Wir wollen uns jetzt den Inhalt der Datei sharedStrings.xml genauer anschauen.
Öffnen Sie diese in einem Textedior Ihrer Wahl und Sie werden folgendes sehen:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="1" uniqueCount="1"><si><t>Online Excel</t></si></sst>



Auch hier interessiert uns wenig von dem was drin steht.
Aber Sie ahnen es schon, unser Online Excel ist wichtig.
Dies ist doch genau, was wir in der Mappe geschrieben haben.
Dann auf zu unserem Experiment.
Wir fügen hinter Excel noch das Wort toll ein. (beachten Sie, dass Sie vor dem < schreiben)
Speichern Sie nun die Datei und schließen Sie den Editor.

Jetzt kommt der große Moment. Wird unsere Änderung wirksam wenn wir wieder ein Zip erzeugen.
Wir wählen also unseren Ordner test.xlsx und komprimieren diesen wieder.
Z.B. in Windows mit rechter Maustaste und senden an -> Zip komprimierten Ordner - oder mit Ihrem Zip Programm.

Dann sollte die Datei test.xlsx.zip entstanden sein.
Um nun keine Probleme zu bekommen, löschen wir den Ordner test.xlsx.
Danach benennen wir unsere Datei test.xlsx.zip um, indem wir das .zip entfernen.
Also aus test.xlsx.zip wird test.xlsx
Sie sehen, es erscheint wieder das Excel Icon.

Und nun kommt der große Test und große Knall. Bitte erschrecken Sie nicht, passiert nix.
Machen Sie einen Doppelklick auf die Datei.

Welch Entsetzen!

Excel bringt Fehlermeldungen und wir können die Datei nicht öffnen.

Analyse und Hoffnung ist da

Jetzt habe ich Sie durch ein ganzes Sammelsurium von Anweisungen gehetzt, nur damit wir eine korrupte Datei erzeugen!
Ja spinnt der denn? Will der uns ver..

Mitnichten. Diese ganze Übung war dazu da, Ihnen aufzuzeigen, dass es nicht so einfach geht, wie man vielleicht gehofft hat. Ich kann die Datei nicht entzippen, ändern und wieder zurückzippen.
Bei dieser Aktion wird die interne Struktur zerstört.
Trotzdem haben wir schon viel gesehen. Die Dateien und Ordner die dahinter stecken, dass ich diese bearbeiten kann und dass ich auf die Schn.. gefallen bin, mit dem Denken, es zurückzippen zu können.

Ich möchte Ihnen aber nun 2 Varianten zeigen, wie es funktioniert. Sonst hauen Sie mich wirklich noch - und ich bin da sehr empfindlich.


Variante 1 - mit Umweg über einen Ordner

Als erstes leeren wir unseren Ordner ZIP und kopieren unsere Originaldatei wieder aus dem Ordner Original.
Jetzt haben wir im Ordner ZIP wieder die Datei test.xlsx die auch noch funktioniert.
Wir benennen diese wieder um in test.xlsx.zip

Ab jetzt wird es aber anders.
Wir machen einen Doppelklick auf die test.xlsx.zip
Hierbei wird mit sofort die Ordnerstruktur wieder aufgebaut. Beachten Sie aber, dass dies nicht das Gleiche ist, wie entzippen.
Wir gehen nun wieder zu unserer Datei sharedStrings.xml im Ordner xl.

Kopieren Sie nun diese Datei in den Ordner Arbeit.

In diesem Ordner ist Sie nun bearbeitbar.
Öffnen Sie die Datei wieder in einem Texteditor und wir ergänzen Online-Excel wieder mit toll.
Jetzt speichern wir die Datei und schließen den Texteditor.

Nun kopieren wir die Datei wieder zurück in den Ordner XL im Ordner ZIP.
(Überschreiben also die Datei !)

Jetzt kommt der entscheidende Schritt:
Wir entfernen wieder das .zip von test.xlsx.zip also aus
test.xlsx.zip
wird wieder test.xlsx

Und nun öffnen wir die Datei und
HEUREKA - Online Excel toll

Bevor ich nun zur Variante 2 komme, sollten Sie selbst herumspielen mit dieser ersten Variante, damit Sie ein Gefühl dafür bekommen.

Mit Umweg über Ziparchiv

Diese Variante ähnelt erstmal sehr der ersten Variante und erscheint absolut aufwendiger.
Sie hat aber sicherlich einige Vorteile, die Sie in Zukunft selbst ersehen können, da man schnell Ordner und Dateien hinzufügen kann, wenn man mal tiefer eingestiegen ist.

Wie wir in unserem Crash Beispiel gesehen haben, können wir nicht entzippen und zippen.
Aber wir dürfen das Zip Archiv selbst bearbeiten, also über Zip Technologien in der Zip Veränderungen vornehmen.

Für diese Variante sollten Sie sich unbedingt mit der Zip Struktur auskennen.
Wenn Sie einer gezippten Datei Dateien ändern wollen, müssen Sie diese in Ihrer Ordnerstruktur erhalten.

Beispiel:
Wenn Sie unsere Datei sharedStrings.xml im Ziparchiv ersetzen wollen, können Sie nicht einfach die Datei dem Zip Archiv hinzufügen, da ansonsten die Datei in der ersten Ebene stehen würde und nicht im Ordner xl.

Das heißt, es muss der ganze Ordner xl ersetzt werden.
Sie müssen also absolut die Hirarchie beachten!


Kommen wir zur Ausführung:

Als erstes leeren Sie bitte die Ordner ZIP und Arbeit.
Dann kopieren Sie wieder unsere Testdatei in den Ordner ZIP und fügen Sie wieder .zip hinzu.
Nun wieder einen Doppelklick.
Jetz kopieren Sie den Ordner xl in unseren Ordner Arbeit.
Dort verändern Sie wieder die Datei sharedStrings.xml
(Sie können ja mal aus Online-Excel Online-Super-Excel machen)

Nun kommt der eigentliche Knackpunkt.
Sie müssen nun den Ordner xl aus dem Ordner Arbeit der Datei test.xlsx.zip hinzufügen - als Archiv.
Mit 7.zip können Sie dies z.B. wie folgt machen:

Rechten Mausklick auf den Ordner xl.
Dann bei 7.Zip : Add to archive auswählen.

Im Diaglog wählen Sie dann den Button oben links mit den drei Punkten und wählen dann die Datei test.xlsx.zip im Ordner ZIP.
Beachten Sie die Einstellungen Archive format : Zip und Update mode Add and replace files.

Dann noch OK
(In anderen Zip Programmen sollte es ähnlich funktionieren)

Jetzt müssen wir nur wieder unsere test.xlsx.zip umbenennen in test.xlsx.

Und wenn Sie alles richtig gemacht haben, und die Datei öffnen haben Sie den neuen Text.

Zum Abschluss

Wofür ist das nun eigentlich alles gut?
Das können nur Sie selbst beurteilen.

Aber für die Multifunktionsleiste (Ribbon) und andere Dinge ist es gut, die Grundstrukturen zu kennen.
Und man kann dann mit entsprechenden Mitteln dies sicherlich automatisieren.

Und wenn jemand jetzt noch Lust hat zum rumspielen:
Erzeugen Sie eine Datei mit einem Makro und speichern Sie diese als .xlsm ab.
Dann ein .zip hinzu und mit Doppelklick öffnen.
Dann einfach die vba.bin rausschmeißen und zip wieder weg.

Und schon haben wir die Makros entfernt.

Fragen stellen im Online-Excel Forum

Neu in Online-Excel: Online-Excel Newsletter

Weitere Artikel der Gruppe: Tutorials Aus Excel Standard
Nach oben