Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
508to512
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
508to512
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien aus Unterverzeichnissen

Dateien aus Unterverzeichnissen
30.10.2004 12:15:18
Barbara
Hallo,
ich habe folgendes Problem:
Ich habe eine Funktion namens "Arbeit" geschrieben, die mit einem bestimmten Dateinamen mit Pfad so aufgerufen wird:
Arbeit "C:\Eigene Dateien\HH\Barbara\Oktober\Noten.txt"
Nun soll "Arbeit" nacheinander mit jeder txt-Datei ausgeführt werden, die in den Unterverzeichnissen von
"C:\Eigene Dateien\HH\Barbara\"
liegt (es gibt nur eine Ebene unter "Barbara", dann kommen schon die txt-Dateien).
Kann mir da wer helfen, bitte?
Mein Problem sind die Unterverzeichnisse. Hab es mit "Dir" versucht.
LG, Barbara

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien aus Unterverzeichnissen
30.10.2004 12:22:01
Hajo_Zi
Hallo Barbara,
siehe Dir dies Beispiel bvon meiner HP an.
http://home.media-n.de/ziplies/gepackt/fremd/ordner_auslesen_hyperlink.zip
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: Dateien aus Unterverzeichnissen
30.10.2004 12:27:42
Josef
Hallo Barbara!
Als Ansatz.
Sub Textdateien_Auslesen() Dim varFile With Application.FileSearch .NewSearch .LookIn = "C:\Eigene Dateien\HH\Barbara\" .Filename = "*.txt" .SearchSubFolders = True If .Execute() > 0 Then For Each varFile In .FoundFiles MsgBox varFile ' hier deine Bearbeitung/Auswertung Next varFile End If End With End Sub
Gruß Sepp
Anzeige
AW: Dateien aus Unterverzeichnissen
30.10.2004 16:49:51
Barbara
Hallo Sepp,
danke, das funktioniert gut, aber nur für existente Verzeichnisse.
Wenn bei LookIn ein Verzeichnis angegeben wird, das nicht existiert, wird das zuletzt angegebene verwendet. Da hilft auch NewSearch nichts (Wie ich der Excel Hilfe entnehmen konnte).
Und das gefährliche dabei: Nichts macht mich darauf aufmerksam, dass nicht mein gewünschtes Verzeichnis gewählt wurde.
Gibt es dagegen Abhilfe?
LG, Barbara
AW: Dateien aus Unterverzeichnissen
30.10.2004 17:09:32
Josef
Hallo Barbara!
Geht schon!
Und mit diesem Code sogar bequem mit Verzeichnisauswahl!
'Created By Chip Pearson and Pearson Software Consulting Services
'© Copyright 1997-2003 Charles H. Pearson
' http://www.cpearson.com/excel/BrowseFolder.htm
Option Explicit
'Using the Shell Controls Library
'
'First you need to set a reference to the "Microsoft Shell
'Controls And Automation" object library.
'In the VBA Editor, go to the Tools menu, choose References,
'and scroll down to this item and put a check next to it.
'
'Then, copy the following code to a standard code module:
Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Const BIF_DONTGOBELOWDOMAIN As Long = &H2
Private Const BIF_RETURNFSANCESTORS As Long = &H8
Private Const BIF_BROWSEFORCOMPUTER As Long = &H1000
Private Const BIF_BROWSEFORPRINTER As Long = &H2000
Private Const BIF_BROWSEINCLUDEFILES As Long = &H4000
Private Const MAX_PATH As Long = 260

Function BrowseFolder(Optional Caption As String, _
Optional InitialFolder As String) As String

Dim SH As Shell32.Shell
Dim F As Shell32.Folder
Set SH = New Shell32.Shell
Set F = SH.BrowseForFolder(0&, Caption, BIF_RETURNONLYFSDIRS, _
InitialFolder)
If Not F Is Nothing Then
BrowseFolder = F.Items.Item.Path
End If
End Function
'## Achtung ##
'Unter > Extras > Verweise muss zuerst der Verweis auf "Microsoft Shell
'Controls And Automation" gesetzt werden!
'#############

Sub Textdateien_Auslesen()
Dim varFile
Dim strPath As String
strPath = BrowseFolder("Verzeichnis wählen", "C:\")
If strPath = "" Then
MsgBox "Kein Verzeichnis ausgewählt!"
Exit Sub
End If
With Application.FileSearch
.NewSearch
.LookIn = strPath
.Filename = "*.txt"
.SearchSubFolders = True
If .Execute() > 0 Then
For Each varFile In .FoundFiles
MsgBox varFile ' hier deine Bearbeitung/Auswertung
Next varFile
End If
End With
End Sub

Gruß Sepp
Anzeige
AW: Dateien aus Unterverzeichnissen
Barbara
danke, funktioniert ausgezeichnet.
Gibt es sowas auch für die Auwahl von Dateien UND Verzeichnissen?
LG, Barbara
AW: Dateien aus Unterverzeichnissen
01.11.2004 10:47:57
Josef
Hallo Barbara!
Meinst du so was!

Sub Datei_Waehlen()
Dim strDat As String
ChDrive "C:"      'hier kann man das Laufwerk
ChDir "C:\"  'und den Pfad vorgeben
strDat = Application.GetOpenFilename("Alle Dateien (*.*),*.*")
'hier kann man auch einen Filter einsetzen!
'ZB.("Textdateien (txt.*; ini.*; dat.*),txt.*; ini.*; dat.*")
'oder ("Excel Files (xls.*; xla.*; xlt.*),xls.*; xla.*; xlt.*")
If strDat <> "Falsch" Then
MsgBox strDat
'den String strDat kann man dann weiterverarbeiten!
End If
End Sub

Gruß Sepp
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige