VBA code: XML-bestanden tellen in een map

Status
Niet open voor verdere reacties.

Bospeen

Gebruiker
Lid geworden
23 aug 2005
Berichten
150
Beste forumleden,

Ik heb code in elkaar geknutseld om XML-bestanden (*.xml) te tellen in de map "C:\Temp\XML". Maar er zit nog ergens een fout in, want deze code telt alle bestanden.
Wat heb ik verkeerd?

Code:
On Error GoTo Err_Count_XML

Dim strDir As String
Dim fso As Object
Dim objFiles As Object
Dim obj As Object
Dim lngFileCount As Long

strDir = "C:\Temp\XML"
Set fso = CreateObject("Scripting.FileSystemObject")
Set objFiles = fso.GetFolder(strDir).files
lngFileCount = objFiles.Count

For Each objF In objFiles
If objF.Name Like "*.xml" Then
Me.aantal_XML = lngFileCount
End If
Next objF

Me.Refresh

If Me.aantal_XML = "" Or IsNull(Me.aantal_XML) Then
Me.aantal_XML = 0
End If

Err_Count_XML:
Me.aantal_XML = 0

End Sub
 
Doe eens dit:
Code:
For Each objF In objFiles
    If Right(objF.Name,3) = "xml" Then
        Me.aantal_XML = Me.aantal_XML +1
    End If
Next objF
 
Laatst bewerkt:
Ik denk dat Like dan nog weg moet. Maar ook dan geeft deze code als resultaat 0 Xml-bestanden (terwijl de map er 1 bevat en 5 andere type bestanden)

Code:
For Each objF In objFiles
    If Right(objF.Name Like,3) = "xml" Then
        Me.aantal_XML = Me.aantal_XML +1
    End If
Next objF
 
Uiteraard moet dat Like weg, tikfoutje van mij.
Maak van Me.aantal_XML = Me.aantal_XML +1 eens var = var + 1 en als laatste Me.aantal_XML = Me.aantal_XML = var
Waarbij var een Long is.
 
Kan toch allemaal simpeler?
Code:
    myFile = Dir("C:\Temp\XML\*.xml")
    Do While Not myFile = ""
        i = i + 1
        myFile = Dir
    Loop
    
MsgBox i
 
Dat ziet er inderdaad lekker simpel uit. Maar hoe pas ik dit toe?
Ik wil aan de gebruiker tonen hoeveel Xml-bestanden de map C:\Temp\XML bevat en daarvoor vul ik het veldje "aantal_XML".
 
Ik gebruik nu een Msgbox. Daar zet jij dan Me.Aantal_XML = i.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan