Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ordner Auflisten

103 views
Skip to first unread message

Willi.Emmrich

unread,
May 10, 2012, 5:07:47 AM5/10/12
to
Hi zusammen,
ich möchte die Ordner eines Laufwerkes in Excel über ein Makro auflisten.
Aber ohne Pfadangabe nur der Ordnername.
Danke
Willi

Robert Feldmann

unread,
May 10, 2012, 12:47:17 PM5/10/12
to
Hallo Willi,

z.B. hiermit:

Sub ordnerauswahl()
Dim AppShell As Object
Dim BrowseDir As Variant
Dim Pfad As String
Set AppShell = CreateObject("Shell.Application")
Set BrowseDir = AppShell.BrowseForFolder(0, "Ordner auswählen",
&H1000, 17)
On Error Resume Next
Pfad = BrowseDir.items().Item().Path
If Pfad = "" Then Exit Sub
MsgBox Pfad
End Sub

quelle:
http://www.office-loesung.de/ftopic222848_0_0_asc.php

Ein bisschen Suchen kann man aber schon, gelle?
--
Nicht was Du sagst ist entscheidend, sondern was verstanden wird.

Willi Emmrich

unread,
May 11, 2012, 10:15:39 AM5/11/12
to
Danke erstmal für deine Antwort.
Und die Kritik ist angekommen. Ich hatte, bevor ich mich an die Gruppe
gewandt habe, schon nach einem passenden Makro gesucht. Das Makro, dass
ich gefunden habe beinhaltet auch Teile von dem Makro, das du mir
empfiehlst. Jedoch erhalte ich als Ausgabe in der Zelle einen
Laufwerkseintrag und den Ordnernamen z.B. C:\Temp . Ich brauche aber nur
den Ordnernamen z.B. Temp .
Das war auch meine Anfrage. Sorry wenn meine Frage undeutlich gestellt war.
Ich brauche also immer noch Hilfe. :-)

Robert Feldmann

unread,
May 11, 2012, 3:58:16 PM5/11/12
to
Hallo Willi,

der Pfad könnte ja auch C:\egal\auchegal\ganzegal lauten.

Brauchst Du dann alles außer C:\ oder nur "ganzegal"?

Na, völligegal, schau Dir mal diese kleine Ergänzung an.

Sub ordnerauswahl()
Dim AppShell As Object
Dim BrowseDir As Variant
Dim Pfad As String
Set AppShell = CreateObject("Shell.Application")
Set BrowseDir = AppShell.BrowseForFolder(0, "Ordner auswählen",
&H1000, 17)
On Error Resume Next
Pfad = BrowseDir.items().Item().Path
If Pfad = "" Then Exit Sub
MsgBox Right(Pfad, Len(Pfad) - 3) 'nur ohne Laufwerk
MsgBox LetztesWort(Pfad) 'nur letzte Ebene des Pfades
End Sub

Function LetztesWort(strIn As String) As String
' quelle: Renzo Lazzarini
Const TRENNZEICHEN = "\" 'Leerschlag
Pos = InStr(1, strIn, TRENNZEICHEN)
Do While Pos
strIn = Mid(strIn, Pos + 1, Len(strIn) - 1)
Pos = InStr(strIn, TRENNZEICHEN)
Loop
LetztesWort = strIn
End Function


Gruß
Robert

Am 11.05.2012 16:15, schrieb Willi Emmrich:
> Laufwerkseintrag und den Ordnernamen z.B. C:\Temp . Ich brauche aber nur
> den Ordnernamen z.B. Temp .

Peter Schuerer

unread,
May 11, 2012, 6:41:50 PM5/11/12
to
Am 11.05.2012 16:15, schrieb Willi Emmrich:

> Danke erstmal fᅵr deine Antwort.
> Und die Kritik ist angekommen. Ich hatte, bevor ich mich an die Gruppe
> gewandt habe, schon nach einem passenden Makro gesucht. Das Makro, dass
> ich gefunden habe beinhaltet auch Teile von dem Makro, das du mir
> empfiehlst. Jedoch erhalte ich als Ausgabe in der Zelle einen
> Laufwerkseintrag und den Ordnernamen z.B. C:\Temp . Ich brauche aber nur
> den Ordnernamen z.B. Temp .
> Das war auch meine Anfrage. Sorry wenn meine Frage undeutlich gestellt war.
> Ich brauche also immer noch Hilfe. :-)

Hallo Willi,

erklᅵre doch erst einmal wofᅵr Du es so brauchst.
Vielleicht gibt es ja auch andere Lᅵsungen?

Hier mal zwei Links:

http://www.excel-ticker.de/verzeichnisse-und-dateien-mit-windows-api-funktionen-in-excel-auflisten/

http://www.add-in-world.com/katalog/xl-dateilister/

MfG
Peter

Willi Emmrich

unread,
May 12, 2012, 7:32:37 AM5/12/12
to
Danke Robert,
dein Humor gefällt mir ( wenn deine Antwort humorvoll gemeint war ).
Deine Zeile - Right(Pfad, Len(Pfad) - 3) ist wirklich das was ich brauchte.
Gruß
Willi
;-)
0 new messages