Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nur Dateinamen, ohne Pfad

Nur Dateinamen, ohne Pfad
29.09.2003 13:42:34
Franz W.
Hallo Forum,

ich habe von Hans' CD einen Code, der in ein Listenfeld die Dateien eines Verzeichnisses auflistet, allerdings mit kompletten Pfad:


Private Sub cmdList_Click()
Dim intCounter As Integer
With Application.FileSearch
.LookIn = CurDir
.FileName = "*.xls"
.Execute
For intCounter = 1 To .FoundFiles.Count
lstFiles.AddItem .FoundFiles(intCounter)
Next
End With
End Sub


Wie bitte muss dieser Code lauten, damit er NUR DIE DATEINAMEN ins Listenfeld schreibt?

Vielen Dank im Voraus und Grüße
Franz

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Dateinamen, ohne Pfad
29.09.2003 13:52:37
Hajo_Zi
Hallo Franz

mal in Beispiel

Option Explicit
Option Compare Text
' erstellt von Hajo.Ziplies@web.de
' http://home.media-n.de/ziplies/


Private Sub UserForm_Initialize()
Dateiliste
End Sub


Sub Dateiliste()
Dim Verzeichnis() As String
Dim Anzahl As Integer
Dim I As Integer
Dim Dateiname As String
Anzahl = 0
' Liste erstellen
Dateiname = Dir("D:\Eigene Dateien\Hajo\" & "*.xls")
I = 3
Do While Dateiname <> ""
' Veränderung für DaPetra
' z.B. Verwaltung.xls und Test.xls) falls sie vorhanden sind nicht anzeigen
' und Anzeige ohne Dateityp
If Dateiname <> "Adresse.xls" And Dateiname <> "autoh.xls" Then
Anzahl = Anzahl + 1
ReDim Preserve Verzeichnis(1 To Anzahl)
' Verzeichnis(Anzahl) = Mid(Dateiname, 1, Len(Dateiname) - 4)
Verzeichnis(Anzahl) = Dateiname
End If
Dateiname = Dir
Loop
' Dateinamen sortieren
Sort_A_Z Verzeichnis, LBound(Verzeichnis), UBound(Verzeichnis) ' Lbound kleinster Wert,UBound Größter Wert
' Dateinamen in Listbox1 schreiben
For I = Anzahl To 1 Step -1
ListBox1.AddItem Verzeichnis(I)
Next I
End Sub


Public Sub Sort_Z_A(SortArray, L, R)
' sortieren von Z bis A
' von GerdZ Herber.de
Dim I, J, x, y
I = L
J = R
x = SortArray((L + R) / 2)
While (I <= J)
While (SortArray(I) < x And I < R)
I = I + 1
Wend
While (x < SortArray(J) And J > L)
J = J - 1
Wend
If (I <= J) Then
y = SortArray(I)
SortArray(I) = SortArray(J)
SortArray(J) = y
I = I + 1
J = J - 1
End If
Wend
If (L < J) Then Call Sort_Z_A(SortArray, L, J)
If (I < R) Then Call Sort_Z_A(SortArray, I, R)
End Sub


Public Sub Sort_A_Z(SortArray, L, R)
' sortieren von A bis Z
' von GerdZ Herber.de
Dim I, J, x, y
I = L
J = R
x = SortArray((L + R) / 2)
While (I <= J)
While (SortArray(I) > x And I < R)
I = I + 1
Wend
While (x > SortArray(J) And J > L)
J = J - 1
Wend
If (I <= J) Then
y = SortArray(I)
SortArray(I) = SortArray(J)
SortArray(J) = y
I = I + 1
J = J - 1
End If
Wend
If (L < J) Then Call Sort_A_Z(SortArray, L, J)
If (I < R) Then Call Sort_A_Z(SortArray, I, R)
End Sub


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


http://home.media-n.de/ziplies/

Anzeige
AW: Nur Dateinamen, ohne Pfad
29.09.2003 14:33:13
Franz W.
Hallo Hajo,

vielen Dank, ist ja riesig ausführlich!! Aber auf die Schnelle durchschaue ich das nicht, da komm ich erst später dazu. MElde mich dann wieder.

Danke und Grüße
Franz
AW: Nur Dateinamen, ohne Pfad
29.09.2003 22:43:59
Franz W
Hallo Hajo,

vielen Dank, das hat mir jetzt bei meinem Konstrukt weitergeholfen. Und wenn ich's mir genauer anschaue, werd ich wohl noch mehr aus Deinem Code übernehmen, kann ich schon was damit anfangen.

Danke und Grüße
Franz
AW: Nur Dateinamen, ohne Pfad
29.09.2003 14:01:33
Veit
Hallo Franz,
probier vielleicht das mal:


Private Sub cmdList_Click()
Dim intCounter As Integer
With Application.FileSearch
.LookIn = CurDir
.Filename = "*.xls"
.Execute
For intCounter = 1 To .FoundFiles.Count
komplett = .FoundFiles(intCounter)
For i = 0 To Len(komplett)
If Mid(komplett, Len(komplett) - i, 1) = "\" Then Exit For
Name = Mid(komplett, Len(komplett) - i, 1) & Name
Next i
lstFiles.AddItem Name
Next
End With
End Sub

Anzeige
AW: Nur Dateinamen, ohne Pfad
29.09.2003 14:30:43
Franz W.
Hallo Veit,

vielen Dank für Deine Hilfe. Hat noch einen kleinen Fehler, er listet auf:

aaa.xls
bbb.xlsaaa.xls
ccc.xlsbbb.xlsaaa.xls
ddd.xlsccc.xlsbbb.xlsaaa.xls
eee.xlsddd.xlsccc.xlsbbb.xlsaaa.xls
.
.
.

aber den find ich schon raus.

Vielen Dank und Grüße
Franz
AW: Nur Dateinamen, ohne Pfad
29.09.2003 14:39:49
Veit
ja ist ja klar
...
For i = 0 To Len(komplett)
If Mid(komplett, Len(komplett) - i, 1) = "\" Then Exit For
Name = Mid(komplett, Len(komplett) - i, 1) & Name
Next i
lstFiles.AddItem Name
Name=""
...

Da mußt die Variable wieder leer machen.
Hatte ich nicht drangedacht. Sorry
So sollte es funken
Gruß
Ein Veit
Anzeige
Ja, das isses! Perfekt! Vielen Dank, Veit! o.T.
29.09.2003 15:01:31
Franz W.

302 Forumthreads zu ähnlichen Themen


Hallo,
der Betreff sagt eigentlich schon alles:
ich möchte ein Dialogfenster öffnen, in dem man mehrere Ordner (nur die Ordner, nicht deren Inhalt) auswählen kann und dann deren Pfad in einem Array gespeichert haben.
Ich habe es schon mit "msoFileDialogFolderPicker" versucht, nur le...

Hallo Fachleute,
die Anweisung "ActiveCell.Value = .FoundFiles(iCounter)" in einer for ... next-Schleife listet Dateien mit komplettem Pfad auf.
Wie muss ich das schreiben, damit nur die Dateinamen alleine ohne Pfad geschrieben werden. Ich bitte um Eure Hilfe.
Danke im Voraus und Gr...

Hallo
ich möchte eine Datei per Makro abspeichern:
Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:=Dateiname, fileFilter:="Excel-Arbeitsmappe, *.xls")
Bei meinem Neuer_Dateiname wird aber immer der komplette Pfad angegeben, ich möchte aber nur den dateiname. Was ma...

Hallo zusammen,
ich habe, mit Hilfe folgendes Makro, zum Zusammenführen von Dateien aus einem Pfad in eine neue Datei und ein Tabellenbaltt, in Benutzung.
Es funktioniert ganz wunderbar, nur möchte ich jetzt, dass alle Tabellenblätter aus den Dateien in die neue Datei eingefügt werden....

Hallo,
ich möchte aus einem Pfad mit Dateinamen den Dateinamen extrahieren.
Beispiel:
D:\Daten\Test\Beispiel.txt
Beispiel.txt soll extrahiert werden
Bitte um Eure Unterstützung und vielen Dank schon im voraus.
Gruß
Karl

Hallo zusammen,
ich bin schon fast am verzweifeln. Ich versuche folgendes:
Ich möchte aus der Funktion ZELLE() den Dateinamen und das Tabellenblatt aus dem dateipfad ermitteln. Ich weiß, dazu gibt es schon viele Anleitungen. Allerdings greifen diese nicht bei meinem Problem.
Der Dat...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige