Avatar billede c_skytte Praktikant
02. december 2021 - 13:53 Der er 1 kommentar

UserForm; Søgeresultat TextBox1 i Listbox, hvordan?

Hej,

Jeg har lavet rigtig mange forsøg på at søge efter en pdf-fil (vha. TextBox1) i en mappe og indlæse resultat i en ListBox.
Filen hedder et 5-cifret nummer fx 30097

Den ene makro ser således ud:

Private Sub CommandButton3_Click()
    Dim fso As Object
    Dim fldr As Object
    Dim f As File
   
    MyPath = "H:\PDF\" & Left(TextBox1, 1) & "0\" 'her laver jeg linket til den mappe jeg vil søge i. dette laves pba. den indtastede værdi i TextBox1
   
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set fldr = fso.GetFolder(MyPath)
        For Each f In fldr.Files
            Me.ListBox1.AddItem f
        Next f
End Sub

Resultat = alle filer i mappen!
MEN, jeg vil kun liste de filer der hedder 30097 og dem kan der være flere af som fx:
30097_2.pdf
30097_A.pdf
30097_B.pdf


Spørgsmål:
1. Hvordan indsætter jeg min TextBox.value som søgestreng?
2. Hvordan sikre jeg mig at ALLE under mapper bliver gennemsøgt?
(Mappestien bliver jo: H:\PDF\30\)

Håber nogen kan hjælpe?
30. december 2021 - 23:09 #1
Måske putte en lille IF sætning omkring din indsæt funktion...

For Each f In fldr.Files
    If InStr(1, f.Name, TextBox1.Value) > 0 Then
        Me.ListBox1.AddItem f
    End If
Next f

eller

For Each f In fldr.Files
    If Left(f.Name, Len(TextBox1.Value)) = TextBox1.Value Then
        Me.ListBox1.AddItem f
    End If
Next f
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

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