Pfad der Verknüpfung in Excel auslesen
Schritt-für-Schritt-Anleitung
Um den Pfad einer Verknüpfung auszulesen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Option Explicit
Public Sub Verknuepfungen_auslesen()
Dim objShell As Object
Dim objFolder As Object
Dim objFile As Object
Dim objLink As Object
Dim xError As Long
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\Users\username\Desktop\")
For Each objFile In objFolder.items
If objFile.IsLink Then
On Error Resume Next
Set objLink = objFile.GetLink
xError = Err.Number
On Error GoTo 0
If xError = 0 Then
Call MsgBox(objLink.Path & vbLf & objLink.Target.Path & vbLf & objLink.Description)
Else
Call MsgBox("Zugriff verweigert: " & vbLf & (objLink.Path & vbLf & objLink.Target.Path & vbLf & objLink.Description))
End If
End If
Next
Set objLink = Nothing
Set objFolder = Nothing
Set objShell = Nothing
End Sub
-
Ändere den Pfad in Set objFolder = objShell.Namespace("C:\Users\username\Desktop\") zu dem Ordner, in dem deine Verknüpfungen liegen.
-
Führe das Skript aus, um die Pfade der Verknüpfungen auszulesen.
Häufige Fehler und Lösungen
-
Fehler: Zugriff verweigert
Wenn du die Meldung "Zugriff verweigert" erhältst, stelle sicher, dass du die richtigen Berechtigungen für den Ordner hast, in dem die Verknüpfungen liegen.
-
Fehler: Kein Zugriff auf den Link
Achte darauf, dass die Excel-Datei geöffnet ist, und dass sich die Verknüpfungen im richtigen Ordner befinden.
Alternative Methoden
Eine alternative Möglichkeit, den Pfad der Verknüpfung auszulesen, besteht darin, den Windows-Benutzernamen auszulesen und die Datei in einem benutzerspezifischen Ordner zu speichern. Dies kann in einigen Fällen eine einfache Lösung bieten, wenn die Verknüpfungen nicht im gleichen Ordner liegen.
Dim username As String
username = Environ("USERNAME")
Hiermit kannst du den Benutzernamen abrufen und die Datei entsprechend speichern.
Praktische Beispiele
Ein Beispiel für die Verwendung des oben genannten Codes könnte so aussehen: Wenn Person A die Verknüpfung auf dem Desktop hat und Person B auf Laufwerk D, kannst du den Code anpassen, um den jeweiligen Pfad dynamisch auszulesen und die Datei an den richtigen Ort zu speichern.
Tipps für Profis
- Nutze
Debug.Print, um Fehlermeldungen und Variablen während der Ausführung zu überwachen.
- Überlege, ob es sinnvoll ist, die Pfade in einer Excel-Tabelle zu speichern, um die Übersichtlichkeit zu erhöhen.
- Teste den Code in verschiedenen Umgebungen, um sicherzustellen, dass er in allen Szenarien funktioniert.
FAQ: Häufige Fragen
1. Kann ich den Pfad der Verknüpfung direkt in Excel anzeigen lassen?
Nein, der Pfad muss über ein VBA-Makro ausgelesen werden, da Excel keine integrierte Funktion dafür bietet.
2. Was mache ich, wenn der VBA-Code nicht funktioniert?
Überprüfe die Pfadangaben und stelle sicher, dass die Excel-Anwendung die notwendigen Berechtigungen hat. Teste auch, ob die Verknüpfungen korrekt erstellt sind.
3. Funktioniert dieser Code in allen Excel-Versionen?
Der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass du die richtigen Sicherheitseinstellungen für Makros aktiviert hast.