• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Gefilterde mapinhoud in Excel

Status
Niet open voor verdere reacties.

anton44

Verenigingslid
Lid geworden
20 mei 2005
Berichten
1.732
Wil graag de bestandsnamen met extensie .TAB die in een specifiek map staan in een tabblad weergeven in Kolom A1 en overschrijven toelaten.
Graag hulp,
Ton
 
Wil graag de bestandsnamen met extensie .TAB die in een specifiek map staan in een tabblad weergeven in Kolom A1 en overschrijven toelaten.
Graag hulp,
Ton

In de helpfunctie van Excel staat bijna een volledige code.
Met een kleine aanpassing doet het de bestanden die de extensie TAB hebben.

Code:
Sub BestandenZoeken()
With Application.FileSearch
    .LookIn = "[B][COLOR="Red"]F:\[/COLOR][/B]"
    .SearchSubFolders = False
    .Filename = "*.TAB"

    If .Execute() > 0 Then
        MsgBox "There were " & .FoundFiles.Count & _
            " file(s) found."
        For I = 1 To .FoundFiles.Count
            ActiveSheet.Range("A" & I).Value = Replace(.FoundFiles(I), .LookIn, "", , , vbTextCompare)
        Next I
    Else
        MsgBox "There were no files found."
    End If
End With
End Sub
Pas nog wel de directory waar gezocht moet worden.
In de A-kolom verschijnt de namen van de bestanden.

Met vriendelijke groet,


Roncancio
 
zoiets?

Update: ik had de reactie van Roncancio nog niet gezien, maar idd uit de helpfunctie aangevuld met info uit eerdere post hier op het forum.
(Weet de oorspronkelijke poster niet meer, maar credits voor hem)
 

Bijlagen

Laatst bewerkt:
Bedankt Roncancio.
Heb in een leeg bestand de codes in een module gekopieerd.
Na start/run verschijnt een foutmelding "Fout 445. Deze actie wordt niet ondersteund door het opbject" en wordt With Application.FileSearch gemerkt.
 
Modbeek, jij ook bedankt voor je reactie.
Bij runnen geeft deze dezelfde foutmelding als in vorig bericht en op de regel Set fs = Application.FileSearch
Ik werk met Excel2007 NL
 
Modbeek, jij ook bedankt voor je reactie.
Bij runnen geeft deze dezelfde foutmelding als in vorig bericht en op de regel Set fs = Application.FileSearch
Ik werk met Excel2007 NL

Ik heb vernomen dat Excel2007 geen Application.FileSearch kent en dus moet het op een andere manier. Het schijnt wel te kunnen.

Met vriendelijke groet,


Roncancio
 
Getest met Excel2003. Daar werkt de routine wel. Hoe verder ?
 
Ik heb geen idee, tot nu toe bar weinig ervaring met 2007 en naar aanleiding wat ik allemaal hoor en wel gezien heb sta ik ook nog niet echt te springen :confused:
 
Valt nogal mee. Natuurlijk een groot aantal verschillen (Lint e.d.) met zijn voor- en nadelen.
 
Getest met Excel2003. Daar werkt de routine wel. Hoe verder ?

Ik heb op internet welk het eea gezien om het probleem op te lossen.
Ik moet even kijken wanneer ik het aan kan passen.

Met vriendelijke groet,


Roncancio
 
Probeer dit eens..


Onderstaande code heb ik op internet gevonden en is een antwoord op het feit dat Application.FileSearch niet in Excel2007 zit. Ik heb de code aangepast aan je vraag.
Het zet de namen van de gevonden bestanden in de A-kolom.

Code:
Sub converteren()
Dim oWbk As Workbook
Dim sFil As String
Dim sPath As String
Dim lRij As Long
    lRij = 1
    sPath = "F:\"
    ChDir sPath
    sFil = Dir("*.TAB")
    Do While sFil <> ""
        Range("A" & lRij) = sFil
        lRij = lRij + 1
        sFil = Dir
    Loop
End Sub

Met vriendelijke groet,


Roncancio
 
Grandioos !
Eenvoudig en effectief.
Hartelijke dank,
Ton
 
Roncancio,
Mag ik er nog op terugkomen (blijft opgelost, maar.. )
Wat is de code op eerst de kolom A:A leeg te maken alvorens er de nieuwe gegevens in brengen ?

Code:
Sub converteren()
Dim oWbk As Workbook
Dim sFil As String
Dim sPath As String
Dim lRij As Long
[B]    Range("A:A").Clear[/B]
    lRij = 1
    sPath = "F:\"
    ChDir sPath
    sFil = Dir("*.TAB")
    Do While sFil <> ""
        Range("A" & lRij) = sFil
        lRij = lRij + 1
        sFil = Dir
    Loop
End Sub

Met vriendelijke groet,


Roncancio
 
Just for the record.

Clear verwijdert ook de opmaak in die kolom, ClearContents enkel de inhoud van de cellen.
 
Wanneer er geen bestanden gevonden worden ontstaat er een fout bij de daarop volgende macro..
Kan de codes zoals door Roncancio aangegeven heeft uitgebreid worden met een melding en dus stoppen van het runnen ?.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan