Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

wie vollen Netzwerkpfad ermitteln?

Forumthread: wie vollen Netzwerkpfad ermitteln?

wie vollen Netzwerkpfad ermitteln?
28.03.2019 08:47:12
michlchen80
Hallo zusammen.
ich habe für eine weitere Datei noch ein 2. kleines Problemchen.
Es handelt sich um eine autom. Speicherfunktion auf einem Netzwerk, sprich der Kollege hat seine Arbeitsdatei und will beim Speichern ne Kopie auf einen Server legen.
Jetzt soll auf diesem Server für jeden (außer ihm selbst) die Datei mit ThisWorkbook.ChangeFileAccess xlReadOnly
geöffnet werden, damit er jederzeit speichern kann und nicht den Fehler "Datei ist durch anderen..." bekommt und diesem dann hinterher dackeln muss. (klappt soweit auch ganz gut)
Dummerweise haben einige Nutzer diesen Pfad als LW verknüpft.
Man müsste doch eigentlich recht einfach aus einem
Z:\mein_Pfad\meine_datei.xlsm
recht einfach ein
\\hier_steht_aber_auch_noch_gedöns\mein_Pfad\meine_datei.xlsm
machen oder?
Als Plan B könnte ich noch mit Stringoperation arbeiten, indem ich den ersten Teil nach dem \\ raus werfe, aber das würde ich gerne vermeiden...
Danke für die Antwort.
Gruß Michl.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wie vollen Netzwerkpfad ermitteln?
28.03.2019 09:25:34
Bernd
Servus Michl,
sieh dir diese Beschreibung an:
https://www.mcseboard.de/topic/147874-vom-netzlaufwerk-zum-unc/
Grüße, Bernd
AW: wie vollen Netzwerkpfad ermitteln?
28.03.2019 09:29:47
EtoPHG
Hallo Michl.,
Mit dieser Funktion (in ein Standardmodul):
' EtoP (c) 2018
' translates a DOS-Based DrivePathFilename to UNC-Notation
' Input String: DriveLetter:[\directory\...\[filename]]
Public Function UNCpath(ByVal sPathWithDriveLetter As String) As String
Dim objNtWork  As Object
Dim objDrives  As Object
Dim lxDrive    As Long
Set objNtWork = CreateObject("WScript.Network")
Set objDrives = objNtWork.enumnetworkdrives
UNCpath = sPathWithDriveLetter
For lxDrive = 0 To objDrives.Count - 1 Step 2
If UCase(objDrives.Item(lxDrive)) = UCase(Left(sPathWithDriveLetter, 2)) Then
UNCpath = objDrives.Item(lxDrive + 1) & Right(sPathWithDriveLetter, _
Len(sPathWithDriveLetter) - 2)
Exit For
End If
Next
Set objNtWork = Nothing
Set objDrives = Nothing
End Function
Gruess Hansueli
Anzeige
AW: wie vollen Netzwerkpfad ermitteln?
28.03.2019 10:07:23
michlchen80
ja genial.
ihr seids die besten!
hatte sowas ähnliches auch schon selber gefunden gehabt, aber das hatte dann leider nicht geklappt. deshalb lieber selber kurz nen eintrag machen.
fettes mercy!

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige