Avatar billede geagleeye Nybegynder
21. april 2006 - 14:26 Der er 6 kommentarer og
1 løsning

file exist ?

hej.


kan man få en procedure til at tjekke om en filnavn som starter med noget bestemt eksistere ?
min eks.

sti = c\:
filnavn = Test123
If Len(Dir(sti & test& "-" & ".PDF")) > 0 Then
    'msgox "filen eksistere"
End If


pointen med det her er at jeg gerne vil ned i c drevet og visse alle de filer som starter med navnet test123 i en list boks ?
Avatar billede mugs Novice
21. april 2006 - 14:36 #1
Indsæt denne i et modul:

Public Function GetFiles(stDir As String) As String
Dim stName As String
Dim tmpList As String
On Error GoTo err_FillFiles
'List all files in this folder
stName = Dir(stDir & "\*.*")
Do While stName <> ""
On Error Resume Next
If (GetAttr(stDir & stName) And vbDirectory) <> vbDirectory Then
'File Already open?
If Err.Number = 5 Then Err.Clear
If stName <> "." Or stName <> ".." Then
'FileList.Add Item:=(stName)
tmpList = tmpList & stName & ";"
End If
End If
'Get Next entry
stName = Dir
Loop
GetFiles = Left(tmpList, Len(tmpList) - 1)
exit_FillFiles:
Exit Function
err_FillFiles:
If Err.Number = 71 Then
MsgBox AccessError(Err.Number) _
& "  Prøv venligst igen.  ", vbCritical + vbOKOnly, _
"Fejl ved læsning af drev " & stDir
End If
Resume exit_FillFiles
End Function

Kald modulet således:

Me!Liste0.RowSource = GetFiles("C:\")
Avatar billede geagleeye Nybegynder
21. april 2006 - 14:42 #2
jeg har smidt koden i programmet, men hvordan kan jeg få den til at liste kun
de filer som starter med test123 i filnavnet ?
eks af filer.
a.pdf
b.pdf
test1234534.pdf
test123asd.pdf


også skal den nemlige kun vise mig disse  2:
test1234534.pdf
test123asd.pdf
Avatar billede kabbak Professor
21. april 2006 - 15:19 #3
ret
stName = Dir(stDir & "\*.*")
til
stName = Dir(stDir & "\123*.*")
Avatar billede kabbak Professor
21. april 2006 - 15:19 #4
Undskyld

Til
stName = Dir(stDir & "\test123*.*")
Avatar billede terry Ekspert
21. april 2006 - 17:45 #5
Or

Function fIsFileDIR(stPath As String, Optional lngType As Long) As Integer
'Fully qualify stPath

'To check for a file
'  ?fIsFileDIR("c:\winnt\win.ini")

'To check for a Dir
'  ?fIsFileDir("c:\msoffice",vbdirectory)
'
    On Error Resume Next
    fIsFileDIR = Len(Dir(stPath, lngType)) > 0

End Function
Avatar billede geagleeye Nybegynder
24. april 2006 - 11:17 #6
Jeg har valgt at bruge mugs løsning samt tilpasning som kabbak har føjet til.
kabbak kunne du ikke også indlægge et svar ! :)

Jeg takker mange gange for hjælpen :)
Avatar billede geagleeye Nybegynder
24. april 2006 - 11:19 #7
dinggg.. der gik noget galt , jeg har derfor lagt nogen poin til side for dig.
på :
http://www.eksperten.dk/spm/704877
hvis du smider et svar  :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester