Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
460to464
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
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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)
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

26 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige