Dateinamen mittels VB in Excel ermitteln

Hallo,

ich würde gerne die Namen mehrerer .txt dateien in eine Exceltabelle bekommen. Kann mir jemand einen VB Code geben mit dem das geht?

Danke

ich würde gerne die Namen mehrerer .txt dateien in eine
Exceltabelle bekommen. Kann mir jemand einen VB Code geben mit
dem das geht?

Hallo MF112,

Sub txt()
Dim Zei As Long
For Zei = 1 To 10
 Cells(Zei, 1).Value = "Textdatei" & Zei & ".txt"
Next Zei
End Sub

Oder wolltest du etwa was anderes? :smile:
Dann mußt du aber mehr Informationen rausrücken.

Übrigens, du meinst Excel-VB A.

Gruß
Reinhard

Also

ich habe mehrere Txt Dateien in einem Ordner und lese diese aus:

Sub auslesen(datEigenschaft, Zähler, d, Pfad)
'Deklaration der Variablen
Dim fso
Dim LetzteZeile, Zelle
Dim l
Dim f
Dim z, iCounter, iLine As Integer
Dim sTxt As String

'Auslesen Registrierter Anwender
For iCounter = 1 To 1
For iLine = 2 To 2
Set fso = CreateObject(„Scripting.FileSystemObject“)
'MsgBox datEigenschaft(1, Zähler)
Set f = fso.getFile(Pfad & datEigenschaft(1, Zähler))
Set f = f.OpenAsTextStream(1)
Do While Not f.AtEndOfStream
l = f.ReadLine()
If InStr(1, l, „Registrierter Anwender“) 0 Then
sTxt = l
sTxt = Right(sTxt, Len(sTxt) - InStr(sTxt, „:“))
Cells(iCounter + Zähler, iLine).Value = sTxt
End If
Loop
Next iLine
Next

In die erste Spalte sollen die Namen der Dokumente.

Also A1 NAME
A2 a.txt
A3 b.txt
A4c.txt usw.

Die Spaltenüberschriften sehen bei mir so aus:
Range(„A1“).Value = „Anwender“ 'Textdateinamen
Range(„B1“).Value = „Registrierte Firma“
Range(„C1“).Value = „Rechner“

Ist die Erklärung besser?

Hallo,

ich gehe mal nicht direkt auf Deinen Code ein, das gefummel mit FSO ist mir zu kompliziert. Die Stringzerlegung bekommst Du dann ja hin.

Ich habe von VBA keine Ahnung, meine VB-Kenntnisse haben aber ausgereicht, den Inhalt von „C:“ in eine Exceltabelle zu schreiben, ich vermute, das wird Dir weiterhelfen. Der Code ist sicher nicht optimal aber übersichtlich und relativ kurz.

Ich habe übrigens Excel2003 verwendet, wenn das bei Dir nicht läuft, hast Du eine andere Version von Excel.

Gruß Rainer

Private Sub CommandButton1\_Click()
Dim txt As String, pfd As String, i As Long

 pfd = Dir("C:\")
 Do
 Cells(2 + i, 1) = pfd
 i = i + 1
 pfd = Dir
 Loop While pfd ""

End Sub

Hallo Rainer,

ich gehe mal nicht direkt auf Deinen Code ein, das gefummel
mit FSO ist mir zu kompliziert. Die Stringzerlegung bekommst
Du dann ja hin.

vor vielleicht schon einem Jahr hat doch hier mal Alex lange beschrieben warum man „Dir“ nicht nutzen sollte.
Leider habe ich vergessen warum nicht :frowning:

Und zumindest bei XL2007 muß man FSO benutzen da das sonst üblche „Filesearch“ es dort nicht mehr gibt.

Zu Filesearch, besonders wenn man nach Searchsubfolders oder Execute in der Hilfe schaut findet sich guter Beispielcode.

Ich habe übrigens Excel2003 verwendet, wenn das bei Dir nicht
läuft, hast Du eine andere Version von Excel.

Bis auf XL2007 was immer für Überraschungen gut ist, müßte es auf allen Versionen laufen *behaupt*

Gruß
Reinhard

Hallo Reinhard,

vor vielleicht schon einem Jahr hat doch hier mal Alex lange
beschrieben warum man „Dir“ nicht nutzen sollte.
Leider habe ich vergessen warum nicht :frowning:

Stimmt, da war was … OK, dann die schnelle API-Lösung aus der FAQ, wenn’s denn ohne ‚Dir‘ sein muss. FSO ist etwas für VBS. :smile:

Bis auf XL2007 was immer für Überraschungen gut ist, müßte es
auf allen Versionen laufen *behaupt*

Danke, dann wird der Code hoffentlich helfen.

Gruß Rainer