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

Verzeichnisspfad

Forumthread: Verzeichnisspfad

Verzeichnisspfad
26.07.2004 15:41:11
Micha
Es gilt folgendes Problem zu lösen...
Wähle mit Application.GetOpenFilename eine Datei aus, die in einem beliebigen Verzeichniss auf der Festplatte liegen kann.
Nun möchte ich von dieser Datei nur die letzten Ebene des Pfades bekommen.
Z.B. c:\dokumente\test\Unternehmen-A\test.xls
Dann soll dann als Ergebniss nur "Unternehmen-A" rauskommen..
Wie kann man das am einfachsten machen, sei es per VB oder normalen Excel-Funktionen
Vielen Dank im Voraus
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzeichnisspfad
26.07.2004 15:44:59
scorbio
Hatte auch mal das problem versuche es mal hier mit:
Eingabe:
c:\dokumente\test\Unternehmen-A\test.xls

Private Function cleanPfad(ByVal sEingabe As String) As String
Dim a As Integer
Dim sAusgabe As String
a = 1
Do Until a = 0
a = InStr(a, sEingabe, "\")
If Not a = 0 Then
sAusgabe = sAusgabe & Left(sEingabe, a)
sEingabe = Mid(sEingabe, a + 1)
a = 1
End If
Loop
cleanPfad = Left(sAusgabe, Len(sAusgabe) - 1)
End Function

Ausgabe:
test.xls
Anzeige
AW: Verzeichnisspfad
P@ulchen
Hi Micha,

Function Ordner() As String
Ordner= Right(ActiveWorkbook.Path, Len(ActiveWorkbook.Path) - InStrRev(ActiveWorkbook.Path, "\", -1))
End Function

Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Verzeichnisspfad
26.07.2004 15:55:55
scorbio
Ups er wollte ja den Ordner.
sorry hab mich verlesen
AW: Verzeichnisspfad
26.07.2004 16:24:32
Micha
Funktioniert zwar, aber nicht ganz so, wie ich es mir vorstelle..
Ich hole mir mit GetOpenFilename in die aktuelle Arbeitsmappe einen Pfad von einer externen Datei, die nicht zwangsläufig im selben Pfad liegen muss, wie mein offenes Excel-Sheet.
Und von dieser ausgewählten Datei will ich nun die letzte Ebene des Pfades bekommen.
Dabei liegt die ausgewählten Datei nicht immer in einer identischen Pfadtiefe (von c:\daten\test.xls bis zu c:\daten\test\test\test\.......\test.xls)
Anzeige
AW: Verzeichnisspfad
26.07.2004 16:46:02
scorbio
Du könntest den ActiveWorkbook.Path auch mit einer Variablen ersetzen und diese über die GetOpenFilename-Methode füllen.

Function Ordner() As String
sPath = GetOpenFilename
Ordner= Right(sPath, Len(sPath) - InStrRev(sPath, "\", -1))
End Function

Anzeige
AW: Verzeichnisspfad
P@ulchen
Hi Micha,
probier so:


Sub Ordnername()
Dim vAdr As Variant
Dim Ordner, Ordner2 As String
vAdr = Application.GetOpenFilename
If vAdr = False Then Exit Sub
Ordner = Left(vAdr, Len(vAdr) - Len(Dir(vAdr)) - 1)
Ordner2 = Right(Ordner, Len(Ordner) - InStrRev(Ordner, "\", -1))
MsgBox Ordner2
End Sub


Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Verzeichnisspfad
26.07.2004 17:31:42
Micha
Klasse klappt einwandfrei...
Vielen Dank für die schnelle Hilfe !!
AW: Verzeichnisspfad ohne VBA
27.07.2004 07:17:32
Heinz
Hallo Micha,
hier noch eine Lösung ohne VBA:
Pfad steht in A1:
=TEIL(A1;FINDEN("#";WECHSELN(A1;"\";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))-1))+1;FINDEN("#";WECHSELN(A1;"\";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))))-FINDEN("#";WECHSELN(A1;"\";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))-1))-1)
Gruß
Heinz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige