Absoluten Laufwerkspfad in Excel auslesen
Schritt-für-Schritt-Anleitung
Um den absoluten Laufwerkspfad in Excel zu ermitteln, kannst Du das folgende VBA-Makro verwenden. Dieses Makro liest die Laufwerksbuchstaben aus und wandelt sie in den UNC-Pfad um.
-
Ö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:
Private Declare Function WNetGetConnection Lib "mpr.dll" _
Alias "WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, _
cbRemoteName As Long) As Long
Public Function GetUNCName(ByVal Path As String) As String
Dim UNC As String * 512
If Len(Path) = 1 Then Path = Path & ":"
If Right$(Path, 1) <> "\" Then Path = Path & "\"
If WNetGetConnection(Left$(Path, 2), UNC, Len(UNC)) Then
MsgBox "Es trat ein Fehler auf oder Sie haben versucht eine lokal gespeicherte Datei einzubinden!"
Else
GetUNCName = Left$(UNC, InStr(UNC, vbNullChar) - 1) & Mid$(Path, 3)
End If
End Function
Sub tttt()
MsgBox GetUNCName("n:")
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Starte das Makro tttt
, um den UNC-Pfad des Laufwerks N: anzuzeigen.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du eine andere Möglichkeit suchst, um den UNC-Pfad zu ermitteln, kannst Du auch die getabsolutepathname
-Funktion verwenden. Diese Funktion kann in verschiedenen Programmiersprachen wie Python oder PowerShell implementiert werden.
Beispiel in PowerShell:
$networkPath = Get-PSDrive -Name "N" | Select-Object -ExpandProperty Root
Write-Output $networkPath
Praktische Beispiele
Hier sind einige praktische Beispiele, wie Du den UNC-Pfad ermitteln kannst:
-
Beispiel 1: Um den UNC-Pfad für das Laufwerk H: zu ermitteln, ändere die Zeile in Deinem Makro zu:
MsgBox GetUNCName("h:")
-
Beispiel 2: Um den UNC-Pfad für ein anderes Laufwerk zu testen, ersetze „n:“ in der tttt
-Subroutine mit dem gewünschten Laufwerksbuchstaben.
Tipps für Profis
- Wenn Du häufig mit UNC-Pfaden arbeitest, erstelle eine Funktion, die den Pfad für mehrere Laufwerke automatisch abruft.
- Überlege, Deine Makros in einer Excel-Vorlage zu speichern, die Du für zukünftige Projekte wiederverwenden kannst.
- Nutze die Möglichkeit, den UNC-Pfad in Formeln zu integrieren, um auf Netzwerkressourcen zuzugreifen.
FAQ: Häufige Fragen
1. Wie kann ich den UNC-Pfad für mehrere Laufwerke gleichzeitig abfragen?
Du kannst eine Schleife in Deinem VBA-Code verwenden, um alle Laufwerke abzufragen und die Ergebnisse in einer Liste anzuzeigen.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass die mpr.dll
verfügbar ist.
3. Was ist der Unterschied zwischen Laufwerksbuchstaben und UNC-Pfaden?
Laufwerksbuchstaben sind lokal zugeordnet, während UNC-Pfade den vollständigen Netzwerkpfad zu einer Ressource angeben, was eine bessere Zusammenarbeit in Netzwerken ermöglicht.