Referenzen auf externe .xlsx-Dateien
Referenzen auf externe .xlsx-Dateien
Ich habe ein merkwürdiges Phänomen im PlanMaker (1042) in Linux Mint Mate.
Ich habe eine .xlsx-Datei mit vielen Referenzen zu anderen .xlsx-Dateien auf einer gemounteten, also unter /media/name/... angehängten Device.
(1) Wenn ich diese Datei per Doppelklick öffne und ablehne, die Referenzen zu aktualisieren, erfolgt die Anzeige korrekt.
(2) Starte ich hingegen erst PlanMaker und öffne die Datei aus PlanMaker heraus, und lehne es auch ab, die Referenzen zu aktualisieren, gibt es dort überall #REF-Fehler.
(3) Starte ich PlanMaker, schließe die automatisch angelegte "untitled"-Datei und öffne dann erst aus PlanMaker die Datei, ist das Verhalten wie im Fall (1).
Aber es wird noch lustiger. Wähle ich nach dem Öffnen der Datei -- egal auf welche Weise --, *dass* die Referenzen aktualisiert werden sollen, bekomme ich die Meldung "One or more external references cannot be updated. Stored values will be used instead", und die Anzeige ist korrekt, d.h. es gibt keine #REF-Fehler.
Die externen Referenzen in der Datei sind offensichtlich korrekt; kopiere ich eine in ein neues Feld, wird dieses Feld mit dem korrekten Wert der externen .xlsx-Datei gefüllt. Ein typischer Link sieht so aus:
='/home/name/Desktop/../../../media/name/Daten/Excel/Werte/[Werte 2005.xlsx]Gesamt 2005'!C$17
Fazit also: Wenn ich möchte, dass die Referenzen *nicht* aktualisiert werden, wähle ich aus, *dass* sie aktualisiert werden sollen. Einen Weg, sie tatsächlich zu aktualisieren, habe ich nicht gefunden...
Gibt es eine Erklärung für dieses seltsame Verhalten?
Ich habe eine .xlsx-Datei mit vielen Referenzen zu anderen .xlsx-Dateien auf einer gemounteten, also unter /media/name/... angehängten Device.
(1) Wenn ich diese Datei per Doppelklick öffne und ablehne, die Referenzen zu aktualisieren, erfolgt die Anzeige korrekt.
(2) Starte ich hingegen erst PlanMaker und öffne die Datei aus PlanMaker heraus, und lehne es auch ab, die Referenzen zu aktualisieren, gibt es dort überall #REF-Fehler.
(3) Starte ich PlanMaker, schließe die automatisch angelegte "untitled"-Datei und öffne dann erst aus PlanMaker die Datei, ist das Verhalten wie im Fall (1).
Aber es wird noch lustiger. Wähle ich nach dem Öffnen der Datei -- egal auf welche Weise --, *dass* die Referenzen aktualisiert werden sollen, bekomme ich die Meldung "One or more external references cannot be updated. Stored values will be used instead", und die Anzeige ist korrekt, d.h. es gibt keine #REF-Fehler.
Die externen Referenzen in der Datei sind offensichtlich korrekt; kopiere ich eine in ein neues Feld, wird dieses Feld mit dem korrekten Wert der externen .xlsx-Datei gefüllt. Ein typischer Link sieht so aus:
='/home/name/Desktop/../../../media/name/Daten/Excel/Werte/[Werte 2005.xlsx]Gesamt 2005'!C$17
Fazit also: Wenn ich möchte, dass die Referenzen *nicht* aktualisiert werden, wähle ich aus, *dass* sie aktualisiert werden sollen. Einen Weg, sie tatsächlich zu aktualisieren, habe ich nicht gefunden...
Gibt es eine Erklärung für dieses seltsame Verhalten?
Re: Referenzen auf externe .xlsx-Dateien
Vielen Dank für die Meldung dieses Problems. Bitte lassen Sie uns zum besseren Verständnis einige Dinge wissen:
1) Tritt dieses Problem nur bei externen Verweisen von Dateien auf, die sich auf externen Datenträgern befinden (gemountetes Gerät), oder tritt dieses Problem auch bei Dateien auf, die sich auf einem Speicherort befinden?
2) Mit welcher Software haben Sie diese Datei ursprünglich erstellt, z.B. mit PlanMaker oder MS-Excel?
3) Haben Sie diese Datei in einem Linux- oder Windows-Betriebssystem erstellt?
Bitte teilen Sie diese Datei, eine externe Datei und die Zelladresse mit, die den externen Verweis enthält.
Wenn Sie vertrauliche/private Daten haben, senden Sie diese Dateien bitte an forum[at] softmaker.de und erwähnen Sie dabei auch den Link zu diesem Beitrag.
1) Tritt dieses Problem nur bei externen Verweisen von Dateien auf, die sich auf externen Datenträgern befinden (gemountetes Gerät), oder tritt dieses Problem auch bei Dateien auf, die sich auf einem Speicherort befinden?
2) Mit welcher Software haben Sie diese Datei ursprünglich erstellt, z.B. mit PlanMaker oder MS-Excel?
3) Haben Sie diese Datei in einem Linux- oder Windows-Betriebssystem erstellt?
Bitte teilen Sie diese Datei, eine externe Datei und die Zelladresse mit, die den externen Verweis enthält.
Wenn Sie vertrauliche/private Daten haben, senden Sie diese Dateien bitte an forum[at] softmaker.de und erwähnen Sie dabei auch den Link zu diesem Beitrag.
Re: Referenzen auf externe .xlsx-Dateien
Danke für die Antwort.
Die Dateien -- Master wie verlinkte -- liegen alle in einem Verzeichnis. Die Links haben daher eigentlich die einfache Form
='[Werte 2005.xlsx]Gesamt 2005'!C$17
Ich habe mit Search and Replace in PlanMaker nun alle (knapp 300) Links wieder auf dieses Format zurückgesetzt. Damit funktioniert es. Verschiebe ich die Master-Datei auf den Linux-Desktop, ändern sich die Links (korrekt) zu
='/media/name/Daten/Excel/Werte/[Werte 2005.xlsx]Gesamt 2005'!C$17
und funktionieren weiterhin. Schiebe ich die Master-Datei zu den anderen Dateien zurück, haben die Links wieder (korrekterweise) die einfache Form und funktionieren weiterhin.
Ich habe es nicht mehr geschafft, die langen Links aus meinem Start-Post zu provozieren. Im Moment funktioniert es also wieder, wie es soll. Dennoch zu ihren Fragen:
1) Kopiere ich alle Dateien vom gemounteten Gerät in einen lokalen Folder, beobachte ich das gleiche Problem. Allerdings werden beim Kopieren dann auch die Links nicht korrekt nachgeführt, sondern sehen so aus:
='/home/name/Desktop/test/../../../media/name/Daten/Excel/Werte/[Werte 2005.xlsx]Gesamt 2005'!C$17
Es ist offensichtlich, dass dieser Link nicht funktionieren kann.
2) Die Dateien wurden ursprünglich mit Excel erstellt (die ersten schon im Jahr 1998) und dann mit mindestens 3 verschiedenen Excel-Versionen sowie ab 2018 zwei PlanMaker-Versionen (FreeOffice 2018 und Office 2021) über die Jahre bearbeitet.
3) Die Dateien wurden ursprünglich in Windows Vista erstellt.
Noch zur Erklärung meines Setups: Ich bin in der Migration von Windows zu Linux. Derzeit habe ich in einer VirtualBox unter Host Windows 10 Linux Mint als Guest laufen. Meine Daten befinden sich nach wie vor unter Windows; von Linux aus greife ich über Shared Folder aus der VirtualBox darauf zu.
Die Dateien -- Master wie verlinkte -- liegen alle in einem Verzeichnis. Die Links haben daher eigentlich die einfache Form
='[Werte 2005.xlsx]Gesamt 2005'!C$17
Ich habe mit Search and Replace in PlanMaker nun alle (knapp 300) Links wieder auf dieses Format zurückgesetzt. Damit funktioniert es. Verschiebe ich die Master-Datei auf den Linux-Desktop, ändern sich die Links (korrekt) zu
='/media/name/Daten/Excel/Werte/[Werte 2005.xlsx]Gesamt 2005'!C$17
und funktionieren weiterhin. Schiebe ich die Master-Datei zu den anderen Dateien zurück, haben die Links wieder (korrekterweise) die einfache Form und funktionieren weiterhin.
Ich habe es nicht mehr geschafft, die langen Links aus meinem Start-Post zu provozieren. Im Moment funktioniert es also wieder, wie es soll. Dennoch zu ihren Fragen:
1) Kopiere ich alle Dateien vom gemounteten Gerät in einen lokalen Folder, beobachte ich das gleiche Problem. Allerdings werden beim Kopieren dann auch die Links nicht korrekt nachgeführt, sondern sehen so aus:
='/home/name/Desktop/test/../../../media/name/Daten/Excel/Werte/[Werte 2005.xlsx]Gesamt 2005'!C$17
Es ist offensichtlich, dass dieser Link nicht funktionieren kann.
2) Die Dateien wurden ursprünglich mit Excel erstellt (die ersten schon im Jahr 1998) und dann mit mindestens 3 verschiedenen Excel-Versionen sowie ab 2018 zwei PlanMaker-Versionen (FreeOffice 2018 und Office 2021) über die Jahre bearbeitet.
3) Die Dateien wurden ursprünglich in Windows Vista erstellt.
Noch zur Erklärung meines Setups: Ich bin in der Migration von Windows zu Linux. Derzeit habe ich in einer VirtualBox unter Host Windows 10 Linux Mint als Guest laufen. Meine Daten befinden sich nach wie vor unter Windows; von Linux aus greife ich über Shared Folder aus der VirtualBox darauf zu.
Re: Referenzen auf externe .xlsx-Dateien
Ergänzung: Ich habe noch etwas herumprobiert. Ich habe den Eindruck, dass es mit Links, die "../" enthalten, Probleme geben kann. Zum Beispiel habe ich eine Situation, in der dieser Link
und dieser Link
funktionieren, dieser hingegen nicht:
Es wird "0" angezeigt, und unter Data / External References steht statt "OK", "Unsupported file format".
Code: Alles auswählen
='/media/name/Daten/Excel/Werte/[Werte 2015.xlsx]Gesamt 2015'!$C$17
Code: Alles auswählen
='/home/name/../../media/name/Daten/Excel/Werte/[Werte 2015.xlsx]Gesamt 2015'!$C$17
Code: Alles auswählen
='/home/name/Desktop/../../../media/name/Daten/Excel/Werte/[Werte 2015.xlsx]Gesamt 2015'!$C$17
-
- Beiträge: 191
- Registriert: 10.10.2006 21:18:38
- Wohnort: Velbert
Re: Referenzen auf externe .xlsx-Dateien
Hast du schonmal versucht, innerhalb deines Arbeitsverzeichnisses einen klassischen Linux Softlink (Symlink) auf die externe Datei zu setzen und dann diesen Link innerhalb von Planmaker zu benutzen?
Keine Ahnung ob das überhaupt funktioniert (ich hatte bislang noch keine Notwendigkeit dafür), aber einen Versuch wäre es IMO Wert.
Keine Ahnung ob das überhaupt funktioniert (ich hatte bislang noch keine Notwendigkeit dafür), aber einen Versuch wäre es IMO Wert.
Re: Referenzen auf externe .xlsx-Dateien
Tatsächlich ist das "Excel" in den obigen Referenzen so ein Softlink, und zwar konkret in einen sogenannten "Shared Folder", durch den ich aus meiner Linux-VirtualBox Zugriff auf meine Daten auf dem Windows-Host habe. Das funktioniert einwandfrei, so lange es mit den Referenzen kein Problem durch die "../" gibt. Oder was immer der wirkliche Grund für die geschilderte Situation ist.
-
- Beiträge: 191
- Registriert: 10.10.2006 21:18:38
- Wohnort: Velbert
Re: Referenzen auf externe .xlsx-Dateien
Meine Idee war, den softlink so zu erstellen, dass der Link, den du dann in Planmaker nutzt, keine ../ mehr enthält.Bullet hat geschrieben: ↑26.04.2022 14:05:12 Tatsächlich ist das "Excel" in den obigen Referenzen so ein Softlink, und zwar konkret in einen sogenannten "Shared Folder", durch den ich aus meiner Linux-VirtualBox Zugriff auf meine Daten auf dem Windows-Host habe. Das funktioniert einwandfrei, so lange es mit den Referenzen kein Problem durch die "../" gibt. Oder was immer der wirkliche Grund für die geschilderte Situation ist.
Re: Referenzen auf externe .xlsx-Dateien
Achso.
Tatsächlich befinden sich die Master-Datei und die (etwa 300) referenzierten Dateien im gleichen Verzeichnis. Die ursprünglichen Links enthalten daher keine Pfadangabe, außer natürlich dem Dateinamen. Ich weiß nicht, wie die komplexen absoluten Links entstanden sind und habe es auch nicht geschafft, das gewollt zu provozieren.
Aber beim "Spielen" mit diesen Links hatte ich den Eindruck, dass sie nur dann funktionieren, wenn maximal zwei "../" enthalten sind. (Dieser Eindruck kann natürlich falsch sein; vielleicht ist die Ursache eine andere und es ist Zufall, dass die von mir angeschauten nicht-funktionierenden Referenzen mindestens 3 "../" enthalten.)
Tatsächlich befinden sich die Master-Datei und die (etwa 300) referenzierten Dateien im gleichen Verzeichnis. Die ursprünglichen Links enthalten daher keine Pfadangabe, außer natürlich dem Dateinamen. Ich weiß nicht, wie die komplexen absoluten Links entstanden sind und habe es auch nicht geschafft, das gewollt zu provozieren.
Aber beim "Spielen" mit diesen Links hatte ich den Eindruck, dass sie nur dann funktionieren, wenn maximal zwei "../" enthalten sind. (Dieser Eindruck kann natürlich falsch sein; vielleicht ist die Ursache eine andere und es ist Zufall, dass die von mir angeschauten nicht-funktionierenden Referenzen mindestens 3 "../" enthalten.)
-
- Beiträge: 191
- Registriert: 10.10.2006 21:18:38
- Wohnort: Velbert
Re: Referenzen auf externe .xlsx-Dateien
Ich ergänze hier nochmal, weil mich das Problem weiterhin plagt.
Ursprüngliche (korrekte) Referenz sah so aus:
Wohlgemerkt, die Datei "Werte 1998.xlsx" liegt sowohl unter Linux wie unter Windows im gleichen Verzeichnis wie die Excel-Datei, die darauf verlinkt. Es gibt also keinen ersichtlichen Grund, diesen Link zu verkomplizieren.
Nun finde ich aber:
Also, irgendetwas läuft bei der Verlinkung gründlich schief. Da ich, wie schon erwähnt, rund 300 solcher Links habe, ist das schon etwas nervig, dass ich die nun schon wieder reparieren darf
Ursprüngliche (korrekte) Referenz sah so aus:
Code: Alles auswählen
='[Werte 1998.xlsx]Gesamt 1998'!B$17
Nun finde ich aber:
Code: Alles auswählen
='D:\Daten\Excel\Werte\..\..\..\media\name\Daten\Daten\Excel\Werte\..\..\..\media\name\Daten\Daten\Excel\Werte\[24]Gesamt 1998'!B$17
Re: Referenzen auf externe .xlsx-Dateien
So, nun habe ich alle Links (unter Linux) manuell wieder repariert, aber leider hören die Probleme nicht auf.
Öffne ich die Datei unter Linux, sehen die Links nun richtig aus:
Öffne ich die gleiche Datei unter Windows, steht dort Blödsinn:
Ändere ich nun irgendetwas an dieser Datei -- und es ist eine Datei, mit der ich fast täglich arbeite --, speichere sie ab und öffne sie danach unter Linux, bekomme ich
So geht das nicht. 4 Stunden vertan und ich kann immer noch nicht weiterarbeiten
Öffne ich die Datei unter Linux, sehen die Links nun richtig aus:
Code: Alles auswählen
='[Werte 1998.xlsx]Gesamt 1998'!B$17/1.95583
Code: Alles auswählen
='D:\media\name\Daten\Daten\Excel\Werte\[Werte 1998.xlsx]Gesamt 1998'!B$17/1.95583
Code: Alles auswählen
='/media/sf_Shared_Folder_Linux/D:/media/name/Daten/Daten/Excel/Werte/[Werte 1998.xlsx]Gesamt 1998'!B$17/1.95583
Re: Referenzen auf externe .xlsx-Dateien
Nun war das (unter Windows) glücklicherweise einfach zu reparieren, da überall auf die gleiche Weise kaputt, Aber es geht weiter.
- Öffne ich die Datei unter Windows, kann ich normal damit arbeiten. Die Links bleiben (im Moment zumindest) erhalten.
- Öffne ich die Datei unter Linux, kann ich auch normal damit arbeiten. Die Links bleiben (im Moment zumindest) erhalten.
- Öffne ich nun aber die Datei, nachdem sie unter Linux bearbeitet und gespeichert wurde, unter Windows, habe ich wieder die "Blödsinn"-Links aus dem letzten Beitrag dort stehen.
Re: Referenzen auf externe .xlsx-Dateien
So, nun habe ich es geschafft, die Geschichte an einem kleinen Beispiel zu reproduzieren.
Vorgehen:
Vorgehen:
- Die beiden angehängten Datei unter Windows in das gleiche Verzeichnis kopieren.
- "Master" öffnen. In Zelle A1 sollte mittels "simplem" Link die Datei "Data" referenziert werden und "17" anzeigen.
- Beide Dateien unter Linux in das gleiche Verzeichnis kopieren.
- "Master" öffnen. In Zelle A1 sollte mittels "simplem" Link die Datei "Data" referenziert werden und "17" anzeigen.
- In Zelle A2 "18" eintragen. Datei speichern. PlanMaker verlassen.
- "Master" in PlanMaker noch einmal öffnen. Sollte alles noch richtig aussehen.
- Beide Dateien unter Windows in das gleiche Verzeichnis kopieren.
- "Master" öffnen. Der Link in Zelle A1 ist nun zu einem "Blödsinn"-Link geworden.
- Dateianhänge
-
- Data.xlsx
- (5.52 KiB) 160-mal heruntergeladen
-
- Master.xlsx
- (6.34 KiB) 186-mal heruntergeladen
-
- Beiträge: 191
- Registriert: 10.10.2006 21:18:38
- Wohnort: Velbert
Re: Referenzen auf externe .xlsx-Dateien
Was du "Blödsinn-Link" nennst ist keiner -- so sehen Dateisystem-Links unter linux nunmal aus.
Linux kennt keine Laufwerksbuchstaben, das kann man nicht oft genug wiederholen.
Dazu kommt, das Linux in Pfadangaben im Gegensatz zu Windows den Slash verwendet, nicht den Backslash.
Linux kennt keine Laufwerksbuchstaben, das kann man nicht oft genug wiederholen.
Dazu kommt, das Linux in Pfadangaben im Gegensatz zu Windows den Slash verwendet, nicht den Backslash.
Re: Referenzen auf externe .xlsx-Dateien
Ich weiß, wie Linux-Pfade aussehen; ich arbeite ja damit
Ich habe diesen Link als „Blödsinn“ bezeichnet, weil a) dort offensichtlich Windows-Elemente (Laufwerksbuchstabe, Backslash) mit Linux-Elementen (/media/name/...) vermischt werden. Und weil b) natürlich weder unter Linux noch unter Windows so ein Verzeichnis bzw. so eine Datei existiert. Und weil es c) keinen Grund gibt, warum ein solcher Link überhaupt angelegt werden sollte.
Ich habe gerade noch einmal im PlanMaker-Handbuch nachgeschaut. Dort steht:
Ich habe diesen Link als „Blödsinn“ bezeichnet, weil a) dort offensichtlich Windows-Elemente (Laufwerksbuchstabe, Backslash) mit Linux-Elementen (/media/name/...) vermischt werden. Und weil b) natürlich weder unter Linux noch unter Windows so ein Verzeichnis bzw. so eine Datei existiert. Und weil es c) keinen Grund gibt, warum ein solcher Link überhaupt angelegt werden sollte.
Ich habe gerade noch einmal im PlanMaker-Handbuch nachgeschaut. Dort steht:
Es geht hier, wie mehrfach erwähnt, genau um Dateien im gleichen Ordner. Wieso also legt PlanMaker (mindestens) unter Linux dort einen absoluten Link an?Der Pfad auf die externe Datei wird normalerweise absolut gespeichert. Falls sich das externe Dokument allerdings im gleichen Ordner befindet wie Ihre Arbeitsmappe (oder einem Unterordner davon), speichert PlanMaker nur den relativen Pfad.
In der Praxis bedeutet das: Wenn sich Dokument und externe Datei im gleichen Ordner befinden und Sie beide gemeinsam in einen anderen Ordner verschieben, funktionieren Bezüge auf diese externe Datei auch weiterhin.