So verwenden Sie in Excel relative Pfade in externen Arbeitsmappenlinks

So verwenden Sie in Excel relative Pfade in externen Arbeitsmappenlinks

In unserem Unternehmen verwenden wir eine Reihe von Excel-Arbeitsmappen, die mit anderen Excel-Arbeitsmappen verknüpft sind.

Mit unserem Service ist dies kein Problem, da jeder auf ein gemeinsames Netzwerklaufwerk zugreift und die Dateipfade für alle verknüpften Dateien gleich bleiben.

Wir möchten jetzt jedoch Cloud-Speicherdienste wie Dropbox verwenden, sind aber auf Probleme gestoßen. Bei allen Diensten, die wir getestet haben, ist der Dateipfad für Dateien auf jedem Computer unterschiedlich. Beispielsweise hätte derselbe Ordner auf zwei verschiedenen Computern die folgenden Dateispeicherorte:

Maschine 1 Dropbox = C:[Maschine 1]\Dropbox\Excel-Ordner\Excel-Datei

Maschine 2 Dropbox = C:[Maschine 2]\Dropbox\Excel-Ordner\Excel-Datei

In diesem Fall müssen Sie die Quelle für die Links jedes Mal auswählen, wenn Sie die Datei von einem anderen Computer aus öffnen. Wenn Sie eine Datei mit Links zu anderen Dateien auf Computer 1 erstellen und dann zu Computer 2 wechseln, weiß Computer 2 nicht, wo die Dateien mit „Computer 1“ im Pfad gespeichert sind. Dies stellt für uns bei der Verwendung dieser Art von Speicher ein großes Hindernis dar, da jeder Benutzer jede Datei bei jedem Öffnen ändern müsste.

Dies wird insbesondere dann akut, wenn PowerPivot verwendet und Verknüpfungen zu anderen Dateien im Datenmodell hergestellt werden, da alle Datenquellen des Datenmodells ebenfalls aktualisiert werden müssen.

Ich verstehe, warum dies passiert, aber gibt es eine Möglichkeit, dies zu umgehen und Dateien so miteinander zu verknüpfen, dass die Links relativ und nicht absolut sind?

Wir verwenden eine Mischung aus Office 2013 und 2016

Antwort1

Unter bestimmten Umständen verwenden in Excel erstellte externe Links relative Pfade statt absoluter Pfade. Dies hängt vom Speicherort der Tabellen ab. Am einfachsten ist es, die Excel-Dokumente im selben Ordner zu speichern.

Weitere Informationen finden Sie unter dieser URL (Auszug unten):https://support.microsoft.com/en-us/kb/328440

  • Wenn sich die verknüpfte Datei und die Quelldatendatei nicht auf demselben Laufwerk befinden, wird der Laufwerksbuchstabe mit einem Pfad zur Datei und einem Dateinamen gespeichert.
  • Wenn sich die verknüpfte Datei und die Quelldatendatei im selben Ordner befinden, wird nur der Dateiname gespeichert.
  • Wenn sich die Quelldatendatei in einem Ordner befindet, der im selben Stammordner wie die verknüpfte Datei verschachtelt ist, wird eine Eigenschaft gespeichert, die den Stammordner angibt. Alle gemeinsam genutzten Teile des Pfads werden nicht gespeichert. Wenn beispielsweise die verknüpfte Datei C:\Mydir\Linked.xls von C:\Mydir\Files\Source.xls abhängig ist, wird nur der Teil des Pfads \Files\Source.xls gespeichert.
  • Wenn sich die Quelldatendatei einen Ordner unterhalb der verknüpften Datei befindet, wird eine Eigenschaft gespeichert, die dies angibt. Beispiel: Die verknüpfte Datei ist C:\Mydir\Files\Myfile\Linked.xls und die Quelldatendatei ist C:\Mydir\Files\Source.xls. Excel speichert nur \MyDir\Files\ .. \Source.xls. Hinweis: Dadurch kann eine Verknüpfung beibehalten werden, wenn die verknüpfte Datei in einen zusätzlichen Unterordner des Ordners kopiert wird, in dem sich die Quelldatei befindet. Beispiel: Die verknüpfte Datei ist C:\Mydir\Files\Myfiles1\Linked.xls und die Quelldatendatei ist C:\Mydir\Files\Source.xls. Die verknüpfte Datei Linked.xls wird aus dem Ordner C:\Mydir\Files\Myfiles1 in einen Ordner mit dem Namen C:\Mydir\Files\Myfiles2 kopiert und die Verknüpfung zu C:\Mydir\Files\Source.xls bleibt erhalten.

Antwort2

Ich weiß nicht, ob es Ihnen in Ihrer Situation helfen wird, aber bisher hat niemand erwähnt, dass es eine Einstellung gibt, mit der man Excel anweisen kann, relative statt absoluter Pfade zu verwenden. Und wenn Sie wirklich relative Pfade verwenden möchten, wird Microsoft leider versuchen, Ihnen behilflich zu sein und sie relativ zu diesem Benutzer zu machen, sodass die Links nur funktionieren, wenn Sie die Ziele so einrichten können, dass sie für jeden Benutzer genau der gleiche relative Pfad sind. Das war der abgelehnte Vorschlag von jemand anderem.Screenshot der Einstellungen für die relative URL-Konfiguration

Antwort3

Daher ist es möglich, einen relativen Pfad anstelle eines absoluten Pfads zu verwenden, sodass Ihre Datenquellen weiterhin funktionieren, solange Sie die Datenquelldateien am selben Speicherort aufbewahren wie das Arbeitsblatt, das sie verwendet.

Allerdings scheint es in der Excel-Benutzeroberfläche keine Möglichkeit zu geben, den Pfad zu ändern.

Sie können die XLSX-Datei jedoch auch anders bearbeiten als über die Benutzeroberfläche. Wenn Sie Ihre XLSX-Datei in .zip umbenennen, können Sie sie „als ob“ eine ZIP-Datei wäre (tatsächlich ist die Excel-Arbeitsmappe eine komprimierte Datei). Öffnen Sie dann in der extrahierten ZIP-Datei das XL-Verzeichnis und darin die Datei „connections.xml“.

Dort finden Sie die „Quelldatei“. Sie können diese ändern und nur auf den Dateinamen verweisen lassen.

Verschieben Sie anschließend die Datei „connections.xml“ zurück in die „gezippte“ Excel-Datei und benennen Sie sie wieder in XLSX um.

Beachten Sie, dass es nicht ausreicht, das Verzeichnis einfach wieder zu zippen und in XLSX umzubenennen, da jeder ZIP-Befehl verschiedene Komprimierungsalgorithmen und -optionen verwenden kann, die nicht immer mit Microsoft Excel kompatibel sind …

Am besten verschieben Sie die „connections.xml“ also zurück in die bereits vorhandene ZIP-Datei (oder noch besser, bearbeiten die Datei direkt in der ZIP-Datei, wenn Ihr ZIP-Dateihandler dies zulässt).

Die Datei ExcelFile.xlsx\xl\connections.xml sieht ungefähr so ​​aus:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<connections xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="xr16" xmlns:xr16="http://schemas.microsoft.com/office/spreadsheetml/2017/revision16"><connection id="1" xr16:uid="{F9606253-9C57-4B65-839A-8DEF5AAEA9F7}" keepAlive="1" name="ThisWorkbookDataModel" description="Data Model" type="5" refreshedVersion="6" minRefreshableVersion="5" background="1"><dbPr connection="Data Model Connection" command="Model" commandType="1"/><olapPr sendLocale="1" rowDrillCount="1000"/><extLst><ext uri="{DE250136-89BD-433C-8126-D09CA5730AF9}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:connection id="" model="1"/></ext></extLst></connection><connection id="2" xr16:uid="{7FE915B8-2095-40EC-B6DC-A589A5A2D08D}" name="TimeTrackingUserEntryLog" type="103" refreshedVersion="6" minRefreshableVersion="5" refreshOnLoad="1" saveData="1"><extLst><ext uri="{DE250136-89BD-433C-8126-D09CA5730AF9}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:connection id="TimeTrackingUserEntryLog" autoDelete="1"><x15:textPr prompt="0" sourceFile="C:\Dropbox\Wonderful\LifeorLive\TimeTrackingUserEntryLog.csv" tab="0" comma="1"><textFields count="5"><textField type="YMD"/><textField/><textField type="text"/><textField type="text"/><textField type="text"/></textFields></x15:textPr><x15:modelTextPr headers="1"/></x15:connection></ext></extLst></connection></connections>

wobei C:\Dropbox usw. der Pfad zu meiner Datenquelle ist, die zufällig eine CSV-Datei ist.

Sie können den gesamten Pfad entfernen und nur „datasourcefilename.csv“ dort belassen.

Hoffe, das hilft! ^^

Antwort4

verwandte Informationen