Referenzen auf externe .xlsx-Dateien

Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

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?
SuperTech
SoftMaker Team
SoftMaker Team
Beiträge: 3314
Registriert: 11.03.2020 17:30:08

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von SuperTech »

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.
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

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.
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

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

Code: Alles auswählen

='/media/name/Daten/Excel/Werte/[Werte 2015.xlsx]Gesamt 2015'!$C$17
und dieser Link

Code: Alles auswählen

='/home/name/../../media/name/Daten/Excel/Werte/[Werte 2015.xlsx]Gesamt 2015'!$C$17
funktionieren, dieser hingegen nicht:

Code: Alles auswählen

='/home/name/Desktop/../../../media/name/Daten/Excel/Werte/[Werte 2015.xlsx]Gesamt 2015'!$C$17
Es wird "0" angezeigt, und unter Data / External References steht statt "OK", "Unsupported file format".
volker neurath
Beiträge: 191
Registriert: 10.10.2006 21:18:38
Wohnort: Velbert

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von volker neurath »

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.
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

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.
volker neurath
Beiträge: 191
Registriert: 10.10.2006 21:18:38
Wohnort: Velbert

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von volker neurath »

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.
Meine Idee war, den softlink so zu erstellen, dass der Link, den du dann in Planmaker nutzt, keine ../ mehr enthält.
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

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.)
volker neurath
Beiträge: 191
Registriert: 10.10.2006 21:18:38
Wohnort: Velbert

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von volker neurath »

Bullet hat geschrieben: 29.04.2022 12:22:15 Aber beim "Spielen" mit diesen Links hatte ich den Eindruck, dass sie nur dann funktionieren, wenn maximal zwei "../" enthalten sind.
Daswar die Idee hinter meinem "Versuch"
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

Ich ergänze hier nochmal, weil mich das Problem weiterhin plagt.

Ursprüngliche (korrekte) Referenz sah so aus:

Code: Alles auswählen

='[Werte 1998.xlsx]Gesamt 1998'!B$17
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:

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
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 :-(
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

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:

Code: Alles auswählen

='[Werte 1998.xlsx]Gesamt 1998'!B$17/1.95583
Öffne ich die gleiche Datei unter Windows, steht dort Blödsinn:

Code: Alles auswählen

='D:\media\name\Daten\Daten\Excel\Werte\[Werte 1998.xlsx]Gesamt 1998'!B$17/1.95583
Ä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

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
So geht das nicht. 4 Stunden vertan und ich kann immer noch nicht weiterarbeiten :-(
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

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.
Fazit: Nach meinem momentanen Beobachtungsstand muss ich davon ausgehen, das man eine Excel-Datei mit externen Referenzen, selbst wenn die ins gleiche Verzeichnis zeigen, entweder unter Linux oder unter Windows verwenden kann, aber nicht mal so, mal so. Was dummerweise genau das ist, was ich normalerweise mache :-(
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

So, nun habe ich es geschafft, die Geschichte an einem kleinen Beispiel zu reproduzieren.

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.
So zumindest bei mir, reproduzierbar.
Dateianhänge
Data.xlsx
(5.52 KiB) 81-mal heruntergeladen
Master.xlsx
(6.34 KiB) 76-mal heruntergeladen
volker neurath
Beiträge: 191
Registriert: 10.10.2006 21:18:38
Wohnort: Velbert

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von volker neurath »

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.
Bullet
Beiträge: 47
Registriert: 25.02.2022 14:25:13

Re: Referenzen auf externe .xlsx-Dateien

Beitrag von Bullet »

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:
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.
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?
Antworten

Zurück zu „PlanMaker 2021 für Linux“