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

vba FoundFiles differenzieren

vba FoundFiles differenzieren
26.11.2004 10:13:28
Georg Burk
Hallo,
ich verwende in einer Prozedur 2 for-schleifen mit verschiedenen Zählern (i, x) und den Ausdrücken FoundFiles(i) und FoundFiles(x).
Wenn ich nun auf eine Datei der i-Serie zugreifen will, bekomme ich immer eine Datei aus der x-Serie.
Kann mir bitte jemand weiterhelfen
Schöne Grüße
Georg

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba FoundFiles differenzieren
26.11.2004 17:41:24
andre
Hallo Georg,
ich nehme mal an, Du hast die Schleifen geschachtelt. Da wird das wahrscheinlich nix. Poste doch mal den code ...
AW: vba FoundFiles differenzieren
27.11.2004 09:27:01
andre
Hallo Georg,
hier mal ein Beispiel, wie Du damit umgehen kannst. Noch ein Hinweis zur Variablendeklaration. Du solltest die Typen mit angeben, muss meist nicht sein, ist aber für den Speicherbedarf und die Typkontrolle von Vorteil.

Sub test2()
Dim i%, x%, y%, z%
Dim a As Object
Dim liste1(), liste2(), liste3()
'liste1 erzeugen
With Application.FileSearch
.Filename = "*.xls"
.LookIn = "C:\tmp\"
.Execute
'liste1 = Array(.FoundFiles) geht hier nicht
'Array wird beim nächsten .FoundFiles zurückgesetzt!
'das ist auch die Ursache für Dein Problem im Original
ReDim liste1(1 To .FoundFiles.Count)
For i = 1 To .FoundFiles.Count
liste1(i) = .FoundFiles.Item(i)
Next
End With
'liste2 erzeugen
With Application.FileSearch
.Filename = "*.xls"
.LookIn = "C:\temp\"
.Execute
'liste2 = Array(.FoundFiles) würde hier gehen
'ebenso gleich .FoundFiles
'weil kein erneutes .FoundFiles kommt aber
'Array wird dann von liste2(0) an gefüllt und nicht
'ab liste2(1) außerdem schaue mal in die Überwachung
'und vergleiche liste3 mit liste2
ReDim liste2(1 To .FoundFiles.Count)
For i = 1 To .FoundFiles.Count
liste2(i) = .FoundFiles.Item(i)
Next
'liste3 erzeugen
liste3 = Array(.FoundFiles)
'End With ganz unten
'For mal einzeln abgearbeitet, geht aber auch verschachtelt
For i = 1 To UBound(liste1)
MsgBox "liste1(" & i & "): " & liste1(i)
Next i
For x = 1 To UBound(liste2)
MsgBox "liste2(" & x & "): " & liste2(x)
Next x
Set a = liste3(0)
For y = 1 To a.Count
MsgBox "liste3(" & y & "): " & a.Item(y)
Next y
For z = 1 To .FoundFiles.Count
MsgBox "FondFiles(" & z & "): " & .FoundFiles.Item(z)
Next z
End With
End Sub

Anzeige
AW: vba FoundFiles differenzieren
29.11.2004 15:13:11
Georg Burk
Hallo Andre,
vielen Dank für deine Hilfe.
Ich muß das Programm erst noch ausprobieren und werde dir dann nochmals Bescheid geben
tschüss
Georg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige