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

Laufwerk und 1. VerzeichnisPath auslesen

Forumthread: Laufwerk und 1. VerzeichnisPath auslesen

Laufwerk und 1. VerzeichnisPath auslesen
29.08.2006 11:33:23
{mskro}
Hallo Excelfreunde,
ich versuche gerade verzweifelt verschiedene Möglichkeiten der aktiv geöffneten Datei auszulesen. Sie liegt in d:\1.Verz\2.Verz\3.Verz\Datei.xls
Mit "ThisWorkbook.Path" erhalte ich
d:\1.Verz\2.Verz\3.Verz
Mit "ThisWorkbook.Name" erhalte ich
Datei.xls
Wie aber erhalte ich folgende Ausgaben?
d:\1.Verz
d:\1.Verz\2.Verz
Gruss Manfred
PS: VBA beherrsche ich zwar, aber nur im HobbyLevel. Leider gibt es diese Auswahlmöglichkeit bei der Angabe des Level nicht.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Laufwerk und 1. VerzeichnisPath auslesen
29.08.2006 11:55:26
UweD
Hallo
hier eine Lösung.
das 2. oder 3. \ wird durch # ersetzt und dann diese position gesucht.
dann der Teil bis dahin ausgegeben...

Sub verz()
Dim Pfad$, Teil1$, Teil2$, J%
Pfad = "d:\1.Verz\2.Verz\3.Verz\Datei.xls" 'zum Testen
J = 2
Teil1 = Left(Pfad, Application.Search("#", Application.Substitute(Pfad, "\", "#", J)) - 1)
MsgBox Teil1
J = 3
Teil2 = Left(Pfad, Application.Search("#", Application.Substitute(Pfad, "\", "#", J)) - 1)
MsgBox Teil2
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Laufwerk und 1. VerzeichnisPath auslesen
29.08.2006 11:55:35
Heiko
Hallo Manfred,
hier mal ein paar Beispiele:

Sub mskro()
Dim lngI As Long
Dim strFullname As String
Dim arrOrdner() As String
strFullname = ThisWorkbook.FullName
MsgBox "Laufwerk = " & Left(strFullname, 1)
MsgBox " 1. Verzeichnis = " & Left(strFullname, InStr(4, strFullname, "\") - 1)
' oder wenn es zuviele Ordner sind.
arrOrdner = Split(strFullname, "\")
For lngI = LBound(arrOrdner) + 1 To UBound(arrOrdner) - 1
MsgBox lngI & ". Ordner = " & arrOrdner(lngI)
Next lngI
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Laufwerk und 1. VerzeichnisPath auslesen
29.08.2006 12:03:08
ChrisL
Hallo
Mit Office XP kannst du auch InstrRev() verwenden, was zwar einfacher ist, aber mit den alten Versionen nicht kompatibel. Noch eine 3. Variante (ohne Reverse):

Sub test()
MsgBox VerzeichnisZurück("C:\Verz1\Verz2\Verz3")
MsgBox VerzeichnisZurück(VerzeichnisZurück("C:\Verz1\Verz2\Verz3"))
End Sub


Function VerzeichnisZurück(sPfad As String) As String
Dim sHilfspfad As String
sHilfspfad = sPfad
Do Until InStr(sHilfspfad, "\") = 0
sHilfspfad = Right(sHilfspfad, Len(sHilfspfad) - InStr(sHilfspfad, "\"))
Loop
VerzeichnisZurück = Left(sPfad, Len(sPfad) - Len(sHilfspfad) - 1)
End Function

Gruss
Chris
Anzeige
Danke euch 3, es hat mir sehr geholfen.
29.08.2006 12:13:55
{mskro}
Danke euch Dreien,
habe mir aus euren Lösungsvorschlägen etwas erstellen können, was mir sehr weiter geholfen hat.
Gruss Manfred

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige