AW: Prima! Danke für die Rückmeldung.
16.09.2016 09:54:20
Erik
Liebe Gemeinde,
anderen Menschen mit dem gleichen Problem mag ich gleich noch mithelfen. Folgendes Makro in ein Standardmodul packen:
'Quelle: _
https://www.herber.de/forum/archiv/752to756/754940_Netzwerkpfad_auslesen.html
'Windows API einbinden, um den UNC-Pfad zu ermitteln
'Dokumentation: http://de. _
wikipedia.org/wiki/Uniform_Naming_Convention
Declare Function WNetGetConnection Lib "mpr.dll" _
Alias "WNetGetConnectionA" ( _
ByVal lpszLocalName As String, _
ByVal lpszRemoteName As String, _
cbRemoteName As Long) As Long
Public Function Netzwerkpfad_ermitteln(ByVal Lokaler_Dateipfad As String) As String
'// Methode: | Konvertiert einen Pfad in UNC-Pfad (\\SERVER\...)
'// Parameter: | sLocalPath = gültiger, lokaler Pfad (X:\..)
'// Rückgabe: | bei Erfolg = UNC-Pfad
'// | bei Fehler = sLocalPath
Const KEIN_FEHLER As Long = 0
Dim Netzwerkpfad As String
Dim Zwischenergebnis As String
Dim Laufwerk As String
Netzwerkpfad_ermitteln = Lokaler_Dateipfad
If Mid(Lokaler_Dateipfad, 2, 1) ":" Then Exit Function
'Die API-Funktion benötigt nur das Laufwerk
Laufwerk = Left(Lokaler_Dateipfad, 2)
Netzwerkpfad = String(260, 0)
'API-Funktion aufrufen, wenn sie keinen Fehler ergibt dann...
If WNetGetConnection(Laufwerk, _
Netzwerkpfad, _
Len(Netzwerkpfad)) = KEIN_FEHLER Then
Zwischenergebnis = Left(Netzwerkpfad, InStr(Netzwerkpfad, vbNullChar) - 1)
If Len(Zwischenergebnis) > 0 Then
Netzwerkpfad_ermitteln = Zwischenergebnis & Mid(Lokaler_Dateipfad, 3)
End If
End If
End Function
Anschließend kann man diese Funktion überall in Excel verwenden, in meinem Fall so:
=SVERWEIS("test";INDIREKT(Netzwerkpfad_ermitteln("V:\Ordner\Ordner\[Dateiname]Tabellenname! _
Bereich");2;0)