robert123321
Gebruiker
- Lid geworden
- 5 okt 2007
- Berichten
- 46
Hallo,
ik ben al een tijdje aan het stoeien om het volgende voor elkaar te krijgen:
Ik gebruik een macro om in een folder te bepalen welke files zich daar bevinden. Deze files zijn altijd opgebouwd op de volgende manier: *_*_*_*_*.ab1 (vb. 12345_F_FGF_001_PT1.ab1)
Het eerste deel kan overigens in aantal karakters verschillen.
Wat ik graag wil is dat de macro bepaald voor elk bestand wat voor 3-letter code zich onder het 3e sterretje (*) bevind en vervolgens een map aanmaakt met als naam de 3-lettercode en dan het bestand naar deze map verplaatst.
Het verplaatsen gaat mij zelf wel lukken, maar ik krijg het niet voor elkaar om de macro de 3-lettercode eruit te laten filteren. Dit is mijn code tot nu toe:
Mijn dank zal groot zijn.
Gr Robert
ik ben al een tijdje aan het stoeien om het volgende voor elkaar te krijgen:
Ik gebruik een macro om in een folder te bepalen welke files zich daar bevinden. Deze files zijn altijd opgebouwd op de volgende manier: *_*_*_*_*.ab1 (vb. 12345_F_FGF_001_PT1.ab1)
Het eerste deel kan overigens in aantal karakters verschillen.
Wat ik graag wil is dat de macro bepaald voor elk bestand wat voor 3-letter code zich onder het 3e sterretje (*) bevind en vervolgens een map aanmaakt met als naam de 3-lettercode en dan het bestand naar deze map verplaatst.
Het verplaatsen gaat mij zelf wel lukken, maar ik krijg het niet voor elkaar om de macro de 3-lettercode eruit te laten filteren. Dit is mijn code tot nu toe:
Code:
Dim strFileArray()
Dim GenArray()
Dim lngLoop As Long
With Application.FileSearch
.NewSearch
.LookIn = extraPath [COLOR="SeaGreen"]'<======= de geselecteerde folder, wordt gegenereerd in een eerder deel van de macro[/COLOR]
.SearchSubFolders = False
.FileType = msoFileTypeAllFiles
.Execute
ReDim strFileArray(.FoundFiles.Count)
For lngLoop = 1 To .FoundFiles.Count
strFileArray(lngLoop) = .FoundFiles(lngLoop)
With strFileArray(lngLoop)
GenArray() = strFileArray [COLOR="SeaGreen"]'<=======hier een loop die bepaald welke genen (3-lettercodes) zich in de map bevinden.[/COLOR]
End With
Next lngLoop
End With
For x = 1 To UBound(strFileArray) [COLOR="SeaGreen"]'<==== Of hier evt de 3-letter codes bepalen, als dat handiger is. [/COLOR]
oldname = strFileArray(x)
Filename = oldname
Next 'x
Mijn dank zal groot zijn.
Gr Robert