AW: Verknüpfung auf andere Datei. Datei wird verschobe
10.10.2007 10:08:00
Wolli
Hallo Samuel,
es ist in der Tat so, dass Excel sich zwar die komplette Pfadangabe merkt, wenn aber die Quell- und Zieldatei im gleichen Laufwerk liegen, merkt sich Excel nur "gleiches Laufwerk" bzw. "gleiches Verzeichnis". Ich kenne keine Möglichkeit, dieses Verhalten zu ändern.
Lösung 1: Von vornherein Quelle und Ziel in verschiedenen Laufwerken speichern, dann dürfte Excel sich nicht an zukünftigen Verschiebeaktionen stören.
Lösung 2: Per Makro die Links beim Öffnen der Arbeitsmappe "hart" setzen. (Code in "Diese Arbeitsmappe" kopieren und modifizieren. Kann auch von Hand getestet werden.)
Private Sub Workbook_Open()
Dim li As Variant, _
i As Long, _
Li_Name As String
'Schreibt alle Verknüpfungen in die Variable li
li = ActiveWorkbook.LinkSources
'Geht alle Verknüpfungen durch
For i = 1 To UBound(li)
'Name ermitteln
Li_Name = li(i)
'Pfad setzen, dahinter alles nach dem ersten Backslash
Li_Name = "Q:\" + Mid(Li_Name, InStr(1, Li_Name, "\", 1) + 1)
'Verknüpfung umbiegen
ActiveWorkbook.ChangeLink Name:=li(i), NewName:=Li_Name, _
Type:=xlExcelLinks
'Link aktualisieren
ActiveWorkbook.UpdateLink Name:=Li_Name, Type:=xlExcelLinks
Next i
End Sub
Das Makro läuft bei mir gut, dabei ist es sogar egal, ob man bei der Abfrage "Aktualisieren" oder "Nicht aktualisieren" wählt, denn anscheinend wird das Makro zuerst ausgeführt, danach kommt dann die Aktualisierung der Links.
Gutes Gelingen! Über eine Rückmeldung würde ich mich freuen.
Gruß, Wolli