Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Netzwerkpfad auslesen

Netzwerkpfad auslesen
13.04.2006 14:24:56
Volker
Hallo an die Experten,
gibt es eine Möglichkeit per Excel-VBA die Netzwerkadresse eines Verzeichnisses auszulesen?
Konkret: Eine Arbeitsmappe liegt auf dem Netzwerklaufwerk, von dem es zur Laufzeit des Programmes auch Daten zur Verarbeitung bezieht.
Ds Problem: die Adresse (z.B. K:\Verz1\Verz2) ist je nach User nicht richtig, da unterschiedliche User unterschiedliche Laufwerksbuchstaben haben.
Auf der Startseite der Arbeitsmappe biete ich dem User mit einem hier im Forum gefundenen Code die Verzeichnisauswahl an, die aber das Verzeichnis in der Form K:\Verz1\Verz2 zurückliefert.
Was muß ich anstellen, um das gewählte Verzeichnis in der Form \\Server1\Verz1\Verz2 zu erhalten?
Im Archiv habe ich zu den Begriffen Netzwerkadresse, Netzwerkname nur Infos gefunden, die meine Frage nicht beantworteten.
Weiß jemand Rat?
Gruß
Volker

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Netzwerkpfad auslesen
13.04.2006 14:31:44
Borschtel
Hi,
mit "ThisWorkbook.Path" bekommst du alles auf einmal, also Server und die Verzeichnisse
Gruß Basti
AW: Netzwerkpfad auslesen
13.04.2006 14:54:32
Matthias
Hallo nochmal,
gleich für Excel angepasst:



Option Explicit
Declare Function WNetGetConnection Lib "mpr.dll" _
Alias "WNetGetConnectionA" ( _
ByVal lpszLocalName As String, _
ByVal lpszRemoteName As String, _
cbRemoteName As Long) As Long
Function GetUNCPath(ByVal sLocalPath 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 NO_ERROR  As Long = 0
Dim sUNCPath    As String
Dim sResult     As String
Dim sDrive      As String
GetUNCPath = sLocalPath
If Mid(sLocalPath, 2, 1) <> ":" Then Exit Function
'// Die API-Funktion benötigt nur das Laufwerk!
sDrive = Left(sLocalPath, 2)
sUNCPath = String(260, 0)
If WNetGetConnection(sDrive, _
sUNCPath, _
Len(sUNCPath)) = NO_ERROR Then
sResult = _
Left(sUNCPath, InStr(sUNCPath, vbNullChar) - 1)
If Len(sResult) > 0 Then
GetUNCPath = sResult & Mid(sLocalPath, 3)
End If
End If
End Function



Gruß Matthias
Anzeige
AW: Netzwerkpfad auslesen
14.04.2006 12:49:39
Volker
Hallo Matthias,
danke für Deine Anpassung.
Lokal funktioniert sie bei mir. Momentan habe ich keinen Netzwerkserver im Zugriff, werde ich direkt nach Ostern ausprobieren und mich melden.
@Borschtel:
Thisworkbook.path ist mir bekannt, aber nich verwendbar, da nur bei gespeicherten Dateien einsetzbar. Aber danke für den Hinweis.
Schöne Ostern
wünscht Volker
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge