Hyperlinks in Excel aktualisieren

ich habe in einer Excel-Datei einige Hyperlinks erstellt (Verknüpfung zu PDF-Dateien - unter C:…\sw\XX.PDF).
danach wurden die PDF-Dateien verschoben unter C:…\PDF\sw\XX.PDF
nu mag ich nicht alle XX.PDF (sind so 850 Dateien) neu zu verknüpfen.
Hat jemand ne Idee? Ach so-> Office2010 Win7

Kannst du dir nicht die Formeln in Excel anzeigen lassen und dann über Suchen-Ersetzen die Pfade ändern?

Hallo,
wenn die Datei verschoben wird, geht der Hyperlink in Excel verloren! Es gibt im nachhinein die Möglichkeit den Hyperlinkpfad mit dem Befehl SUCHEN und ERSETZEN auf den neuen Speicherort umzustellen. Eine Automatik in Excel gibt es nicht.

Beste Grüße
H. Schuster

Suchen Sie den alten Pfad (C:\xxxx\xxx) und ersetzen Sie ihn mit dem neuen Pfad (C:zzzz\yyyy). Wenn Sie noch Links mit dem gleichen Pfad haben und die behalten wollen, dann kopieren Sie die betroffenen Zellen zuerst in ein neues Sheet und lassen sie dort umändern und kopieren Sie das dann wieder an den alten Platz.

Das würde bedeuten doch Zelle für Zelle …
nein brauche die alte Verknüpfung nicht mehr
& jede Zelle hat eine eigene Datei

Nein das bedeutet nicht, dass das einzeln passieren muss. Man kann alle Links in einem Sheet umbenennen solange der Teil, des Links der das Verzeichnis betrifft immer der Gleiche ist

c:\xxx\zz.pdf
c:\xxx\yyy.pdf

werden in einem Rutsch zu

c:\yyyy\zz.pdf
c:\yyyy\yyy.pdf

Nein das bedeutet nicht, dass das einzeln passieren muss. Man
kann alle Links in einem Sheet umbenennen solange der Teil,
des Links der das Verzeichnis betrifft immer der Gleiche ist

Okay, das hört sich gut an.
was oder wie meinen Sie in einem Sheet?
Suchen-ersetzen geht nicht,
in der Zelle steht nur der Dateiname xx.pdf als Text
der Dateipfad ist nur in der 'Quickinfo zu sehen.
wo sind die Information in der Datei zu finden?

Hi, ich bin leider noch auf XP mit Exce2003 aber in Excel2003 gibt es unter Bearbeiten-> Verknüpfungen stehen die dann zumindest gfesammelt.

Hoffe es hilft

Gruß

Das kann ich so nicht nachvollziehen. Können Sie ein neues Excel File erzeugen und zwei oder drei von diesen Zeilen als Beispiel hineinkopieren und mir die Datei schicken.

Normalerweise steht bei einem Link in einem File die ganze Adresse in dieser Form: C:\meinOrdner\meinUnterordner\meinePDFdatei.pdf

Sheet = das Rechenblatt auf dem Sie gerade sind. Finden und ersetzen bezieht sich entweder auf Spalten, Linien oder das ganze Blatt.

Hallo Hilfe78,

auch hier hilft der Makro-Recorder weiter: Damit findet man heraus, wie man auf Hyperlinks zugreifen kann. Beispiel:
Selection.Hyperlinks(1).SubAddress = „file://C:\desktop.ini“
Selection.Hyperlinks(1).TextToDisplay = „Datei“

Die Selection kann ein Bereich (Range) wie das komplette Arbeitsblatt sein oder auch nur eine einzelne Zelle.

Nun kann man über alle Hyperlinks (oder alle Zellen) eine Schleife legen. Für jeden Hyperlink kann man die Werte auslesen, verändern und wieder speichern.

Bleibt noch die Frage, wie man im Dateinamen den Text austauschen kann. Das geht z.B. mit der Funktion InStr!

Dim myFile$, myPos%
myFile = Cells(1, 1).Hyperlinks(1).SubAddress
myPos = InStr(myFile, „\ab“)
If myPos > 0 Then
myFile = Left(myFile, myPos - 1) & „\cd“ & Mid(myFile, myPos + 4, 65535)
Debug.Print myFile
End If
Cells(1, 1).Hyperlinks(1).SubAddress = myFile

Liebe Grüße,
Kurt

vielen Dank für Eure Antworten!

ich habe iene `einfache Lösung gefunden

  1. Registerkarte Datei
  2. Dokumenteigenschaften / erweiterte Eigenschaften
  3. (das Zauberwort) Hyperlinkbasis da den -neuen- Pfad eintraden

Sorry, keine Ahnung. Wüsste ich allerdings auch gern…

Hier kann ich Dir nicht helfen.
Tut mir leid.
Gruß Frank.

Hallo Hilfe78,

mit dem folgenden Makro kannst du das Ersetzen des Pfades durchführen, falls der Dateiname mit Pfad auch in den Zellen steht erfolgt auch im Zellwert die Ersetzung. ggf. im Code die zu ersetzenden Teile (Alt und Neu) des Pfades anpassen, Zellen mit den Hyperlinks selektieren, dann Makro starten

Gruß
Franz

Sub HyperlinkAktualisierungPfad()
 Dim oHyperlink As Hyperlink
 Dim Zelle As Range
 Dim PfadOld As String
 Dim PfadNew As String
 PfadOld = "\sw\" 'gesamter Pfad oder Teil des Pfades, der ersetzt werden soll
 PfadNew = "\PDF\sw\" 'neuer gesamter oder Teil des Pfades
 For Each Zelle In Selection
 If Zelle.Hyperlinks.Count \> 0 Then
 Set oHyperlink = Zelle.Hyperlinks(1)
 With oHyperlink
 .Address = Replace(.Address, PfadOld, PfadNew)
 End With
 If InStr(1, Zelle.Value, PfadOld) \> 0 Then
 Zelle.Value = Replace(Zelle.Value, PfadOld, PfadNew)
 End If
 End If
 Next

End Sub

Hi, sorry für die späte Antwort:

Die Excel-Datei umbenennen in „.zip“, statt „.xlsx“.

Das Zip-File entpacken.

Mit Volltextsuche durch die ganzen XML-Dateien gehen und überall den alten durch den neuen Pfad ersetzen

Anschliessend die Dateien Zippen und das Zipfile umbenennen in „.xlsx“.

Viel Spass!

e-a-s-y