Seite 1 von 1
Hyperlinks -Ordner verschieben
Verfasst: Mi 23. Aug 2017, 00:33
von Pinkpanther
Hallo,
Um die Übersicht über verschiedene Daten zu einem privaten Projekt nicht zu verlieren habe ich mir vor längerem mal eine Calc-Tabelle erstellt. Unter anderem befindet sich darin auch Spalte Z mit Hyperlinks zu lokal abgelegten Dateien (meist PDF, vereinzelt JPG oder PNG). Soweit funktionierte das bisher auch ganz zufriedenstellend. Über die Jahre hat das ganze eine gewisse Eigendynamik entwickelt und ist inzwischen so gewachsen dass in der Tabelle ungefähr 900-1000 Hyperlinks hinterlegt sind, und es sollen noch einige weitere dazukommen. Dabei können in einer Zelle der Spalte Z zwischen 0 und 5 Hyperlinks stehen.
Da die verlinkten Dateien auch andersweitig genutzt werden muss nun die ursprüngliche Ordnerstruktur verändert und zum Teil umbenannt werden. Und da fängt mein Problem an.
Die Datenstruktur ist jetzt wie folgt:
Tabelle: K:\OrdnerA\B\C\Tabelle.ods
Links zu den Daten sehen jetzt so aus: file:///K:/OrdnerA/E/F/G/2014-08-23%Datei.pdf
Neu soll es so aussehen:
Tabelle: K:\01_OrdnerA\Tabelle.ods
Links zu den Daten sollen hierhin verschoben werden: file:///K:/01_OrdnerA/05_M/2014-08-23%Datei.pdf
Wie bringe ich CALC nun bei dass die Dateien in einem anderen Pfad liegen, ohne jeden einzelnen Link bearbeiten zu müssen?
Vielen Dank
Re: Hyperlinks -Ordner verschieben
Verfasst: Do 24. Aug 2017, 14:19
von Helmut_S
Hallo Pinkpanther, Eine Möglichkeit die 900 Hyperlinks in deiner Tabelle zu ändern gibt es schon, aber ob sich das Verfahren in deinem Fall rationell einsetzen lässt, hängt von der Verzeichnisstruktur ab in der deine verlinkten Dateien gespeichert sind.
Also:
Lade deine Tabelle mit den 900 H-Links in LO und stelle unter Extras → Optionen → Laden und Speichern → Allgemein sicher, dass URL‘s im Dateisystem absolut gespeichert werden. (Info dazu gibts in der F1-Hilfe).
Kopie deiner Tabelle mit den 900 H-Links erstellen und in eigenen Ordner speichern.
Umbenennen der Tabelle.ods in Tabelle.zip
Entpacken der gezippten Tabelle in diesen Ordner oder besser noch in einen leeren Ordner.
Nun hast du hier drei Ordner und 6 Dateien, darunter eine „content.xml“
Wie schon der Name vermuten lässt, enthält die content.xml den Inhalt deiner Tabelle. Die content.xml öffnest du in einem Texteditor oder im LO-Writer (in letzterem Fall musst du beim anschließenden Speichern darauf achten, die Datei im reinen Textformat zu speichern).
Mit Suchen und Ersetzen suchst und ersetzst wie hier unten im Beispiel angegeben, die Ordnerstruktur.
Suchen: file:///K:/OrdnerA/E/F/G/2014-08-23%Datei.pdf
Ersetzen: file:///K:/01_OrdnerA/05_M/2014-08-23%Datei.pdf
Speichere die neue content.xml (in reinem Textformat) und packe sie und alle vorher entpackten Dateien und die 3 Ordner zusammen wieder in ein zip-Archiv Tabelle.zip Nach dem Umbenennen in Tabelle.ods sollten die Hyperlinks auf die neue Verzeichnisstruktur zeigen und – falls du keinen Fehler beim Suchen + Ersetzen gemacht hast, die verlinkten Dateien öffnen.
Ob das Verfahren eine Arbeitsersparnis bringt, hängt wie bereits erwähnt von der neuen Verzeichnisstruktur ab. Dass in einer Zelle mehrere H-Links sind, ist kein Problem, aber wenn die meisten Dateien in verschiedenen Ordnern sind, dann wird auch das Suchen und Ersetzen eine ziemliche Arbeit, aber das kannst nur du beurteilen.
Ich würde vor allem zuerst die neue Verzeichnisstruktur erstellen und die zu verlinkenden Dateien hinein kopieren.
Falls es ausreicht, die 900-1000 verlinkten Dateien in einen einzigen Ordner zu schieben, dann wäre diese Methode mit Einsatz von regulären Ausdrücken (zum Suchen) ein Klacks.
Ich habe das Verfahren unter openSUSE Leap 42.3 mit LO 5.4.0.3 ausprobiert, allerdings nicht mit 900 H-Links sondern nur mit einigen wenigen.
Gruß, Helmut
Re: Hyperlinks -Ordner verschieben
Verfasst: Sa 26. Aug 2017, 03:02
von Pinkpanther
Hallo Helmut,
Vielen Dank für die Tips. Wusste gar nicht dass man so einfach über zip an die "Rohdaten" rankommt. Das eröffnet einem doch ganz neue Welten!
Da die verlinkten Dateien praktisch alle im gleichen Ordner liegen scheint die von Dir beschriebene auch eine praktikable Lösung zu sein. Hab einige Versuche gemacht, aber bisher noch nicht geschafft was gescheites daraus zu bekommen. Bekomme im Moment immer ein Dateifehler und nachdem ich die Frage ob repariert werden soll bejaht habe kommt dann ein Fehler in der Datei '$(ARG1)'.
Versuche noch etwas weiter, allerdings ist die content.xml auch im Moment nicht ganz so handlich...ist ca 73MB...und die meisten Editoren tun sich etwas schwer damit

Werde da mal zum weiter probieren die Dateigrösse etwas reduzieren indem ich die Datensätze bis auf 10 oder 20 rauslösche.
Irgendwie scheint es mir als ob ich sowohl relative als auch absolute Links in der Datei habe. Könnte das ein Problem sein? Aber vielleicht ist auch das Problem der dass in den Ordnernamen Leerzeichen sind, diese wurden zwar in den Entsprechenden Links im Texteditor mit %20 ersetzt, aber da kenne ich mich zu wenig damit aus um einschätzen zu können ob das nicht doch ein Problem ist.
Nochmals vielen Dank und Gruss
Urs
Re: Hyperlinks -Ordner verschieben
Verfasst: Sa 26. Aug 2017, 08:38
von Helmut_S
Hallo Pinkpanther, freut mich dass du etwas von meinem Tipp brauchen kannst.
Eine so große content.xml ist natürlich etwas unhandlich. Wenn es geht, wäre es sicher besser deine Tabelle aufzuteilen. Du kannst sie hinterher ja wieder zusammenfügen in dem du die einzelnen Tabellen wieder in 1 Datei kopierst/verschiebst.
Bezgl. relative + absolute Link müsste es reichen, wenn du die Tabelle in Calc öffnest und absolute Verknüpfunen einstellst und dann speicherst.
Die Leerzeichen im Datei- oder Ordnernamen könnten auch eine Fehlerquelle sein, musst du an einer neuen Probe-Datei versuchen und schauen wie das in der content.xml aussieht. Du kennst nun den Weg, gehen musst du ihn selbst

.
Schöne Grüße und viel Glück, Helmut
Re: Hyperlinks -Ordner verschieben
Verfasst: Sa 26. Aug 2017, 16:06
von Pinkpanther
Hab jetzt nochmal etwas daran versucht. Leider scheint es so dass beim entzippen und wieder zippen was schief läuft. Wenn ich nämlich nur auspacke und wieder Zippe (also ohne irgendwelche Änderungen in der content.xml) kann ich die daraus erstellte Datei nicht mehr öffnen.
LO 5.2.7.2 (x64), Win10 x64, versucht mit Win-eigenem Zip-Programm und mit 7zip.
Irgend eine Idee?
Vielen Dank
Re: Hyperlinks -Ordner verschieben
Verfasst: Sa 26. Aug 2017, 17:11
von Helmut_S
Hallo, du solltest die "HL_Tabelle.zip" der Übersichtlichkeit wegen in einen leeren Ordner entpacken. Beim zurück-packen musst du darauf achten dass du die Originaldatei (falls sie sich im gleichen Ordner wie die ausgepackten Dateien und die 3 Ordner befindet) z.B.: HL_Tabelle.zip NICHT mit hineinpackst. Die drei Ordner musst du mitpacken. Also sinngemäß nur das wieder packen, was vorher in der *.zip Datei drin war. Außerdem musst du den "richtigen" zip-Packer verwenden. Mit 7zip geht es NICHT!
Ich arbeite mit openSUSE 42.3 unter KDE/Plasma mit dem Dateimanager Krusader, mit dem gings problemlos nachdem ich den zip-Packer nachinstalliert hatte.
Ich würde eine neue Datei anlegen mit einigen HL's die auf jeweils 1 Datei verweisen, dann einen neuen Ordner anlegen und die verlinkten Dateien dort hinein kopieren und nochmal versuchen. Datei- u. Ordnernamen jeweils ohne Leerzeichen und Umlaute.
Ich werde es unter win7-64 mit dem Total-Commander und seinem zipper versuchen.
Gruß Helmut
Re: Hyperlinks -Ordner verschieben
Verfasst: Sa 26. Aug 2017, 18:28
von Pinkpanther
Herzlichen Dank für den Tip mit Total Commander, mit den richtigen Tools war das eine Sache von 5 Minuten.
Ich hab's im grossen und ganzen nach deiner Anleitung gemacht, ab und zu etwas abgekürzt...so funktionierte es bei mir:
Original.ods kopiert (zur Sicherheit)
Kopie.ods direkt in total commander geöffnet (also ohne als zip umzubenennen, es wird die Ordnerstruktur geöffnet, nicht wie beim Explorer wo dann die Datei in LO geöffnet würde)
content.xml aufs Desktop per drag & drop rausgezogen
content.xml mit Notepad++ bearbeitet
content.xml per drag & drop wieder ins total commander gezogen
die anschliesende Meldung mit "überschreiben" bestätigt (man könnte die original content.xml auch löschen bevor man die veränderte wieder ins Archiv zieht)
Im Explorer zur Kopie.ods navigieren und öffnen
glücklich werden
ods-Dateinamen mit Leerzeichen waren bei mir kein Problem. Links zu Verzeichnissen oder Dateien mit Leerzeichen eigentlich auch nicht, man muss in der xml dann nur %20 statt des Leerzeichens benutzen. Ordner "01 Finanzen" wird dann zum Beispiel zu "01%20Finanzen".
Helmut, vielen Dank nochmal für die Hilfe
Re: Hyperlinks -Ordner verschieben
Verfasst: Sa 26. Aug 2017, 19:58
von Helmut_S
Hallo Pinkpanther, gut gemacht. Es ist etwas pfrimelig, da man aufpassen muss nicht einen / zuviel oder zuwenig einzufügen.
Inzwischen habe ich es unter win7-64 versucht und es hat ohne Probleme geklappt.
Freut mich, dass es dir gelungen ist.
Schönen Abend, Helmut