Avatar billede javid Nybegynder
28. oktober 2002 - 14:36 Der er 13 kommentarer og
1 løsning

Søgning

Jeg har 2 spg.

1. Er der nogle der kan fortælle mig hvad der galt i nedenstående kode. Den bruges til at søge efter word dokumenter. Den siger hele tiden "There were no files found." Der er altså word dokumenter i både C: og i nogle af underbiblioteker.(Jeg bruger office97 og officeXP).


With Application.FileSearch
ChangeFileOpenDirectory "C:\"

    .LookIn = "C:\"
    .SearchSubFolders = True
       
    .FileType = msoFileTypeWordDocuments
   
    .Execute
   
    If .Execute() > 0 Then
        ListBox1.AddItem ("Følgende dokument(er) fundet: ")
        ListBox1.AddItem (.FoundFiles)
                For I = 1 To .FoundFiles.Count
           
            ListBox1.AddItem (.FoundFiles(I))
        Next I
    Else
      ListBox1.AddItem ("There were no files found.")
     
    End If
End With

2. Det er mening at man skal se de fundne filer i listboxen. Hvordan kan jeg så få åbnet dokumentet ved at klikke på den (i listboxen)?
Avatar billede rvm Nybegynder
28. oktober 2002 - 15:15 #1
Prøv denne her (til et få filerne ind i listboksen)

    With Application.FileSearch
        .NewSearch
        .LookIn = "C:\"
        .FileName = "*.doc"
        .SearchSubFolders = True
        .Execute
        .FileType = msoFileTypeWordDocuments
       
        For i = 1 To .FoundFiles.Count
            ListBox1.AddItem .FoundFiles(i)
        Next
    End With
Avatar billede rvm Nybegynder
28. oktober 2002 - 15:21 #2
Fortsat:

Åbn valgte fil (som selvfølgelig skal ligge på en kommandknap på userformen)

Sub Command1_Click()
Documents.Open FileName:=ListBox1
end sub
Avatar billede javid Nybegynder
28. oktober 2002 - 15:23 #3
Hej Rvm. Det hjalp ikke.
Avatar billede rvm Nybegynder
28. oktober 2002 - 15:26 #4
Har du lagt koden på Userform_Activate eller Userform_Initialize - det skal den nemlig!
Avatar billede javid Nybegynder
28. oktober 2002 - 15:48 #5
Jeg forstår ikke hvad er det du mener.
Jeg har lavet en userform (der hedder userfor_click
Til den har til tilføjet et knapp (command) der hedder søg. en knap der hedder Åbn (som er til at kunne åbne dokumenter som står i listboxen. Den ovenstående kode har jeg skrivet ind under den der hedder Søg.
Avatar billede javid Nybegynder
28. oktober 2002 - 15:52 #6
userfor_click=UserForm_Click()
Avatar billede rvm Nybegynder
28. oktober 2002 - 15:57 #7
Du skal oprette en userform - den må ikke hedde UserForm_Click() - kald den f.eks. "Søg".
Indsæt en listboks på userformen.

Dobbeltklik på userformen, så du kommer ind til userformens kodemodul.
Indsæt denne kode:

Sub Userform_Activate()
With Application.FileSearch
        .NewSearch
        .LookIn = "C:\"
        .FileName = "*.doc"
        .SearchSubFolders = True
        .Execute
        .FileType = msoFileTypeWordDocuments
       
        For i = 1 To .FoundFiles.Count
            ListBox1.AddItem .FoundFiles(i)
        Next
    End With
end sub

Sub Åbn_Click()'Hvis din commandknap stadig hedder åbn
    Documents.Open FileName:=ListBox1
end sub
Avatar billede javid Nybegynder
28. oktober 2002 - 16:09 #8
Når jeg laver en user form kommer den automatisk til at hedde UserForm_Click. Hvordan kan jeg få den til at hedde UserForm_Activate().
Avatar billede rvm Nybegynder
28. oktober 2002 - 16:25 #9
Når du står i userform_Click så vælg userform_Activate på højre dropdown liste over kodemodulet
Avatar billede javid Nybegynder
29. oktober 2002 - 12:23 #10
Jeg er kede af at sige det men det fungér ikke.
Avatar billede rvm Nybegynder
29. oktober 2002 - 15:47 #11
Skriv din email her, så sender jeg dig et eksempel *S*
Avatar billede javid Nybegynder
30. oktober 2002 - 08:57 #12
min e-mail adresse er: jja@fvm.dk
Avatar billede rvm Nybegynder
30. oktober 2002 - 09:37 #13
Her er koden, der er ændret lidt i åben proceduren:

Private Sub cmdOK_Click()
    frmSøg.Hide
    Documents.Open FileName:=Mid(ListBox1, InStrRev(ListBox1, "\") + 1)
    Set frmSøg = Nothing
End Sub

Private Sub UserForm_Activate()

With Application.FileSearch
        .NewSearch
        .LookIn = "C:\"
        .FileName = "*.doc"
        .SearchSubFolders = True
        .Execute
        .FileType = msoFileTypeWordDocuments
       
        For i = 1 To .FoundFiles.Count
            ListBox1.AddItem .FoundFiles(i)
        Next
    End With

End Sub
Avatar billede javid Nybegynder
04. november 2002 - 14:06 #14
Hej RVM. Din forslag virker fint sålænge man søger i et undermappe på C:\. Dvs. når, SearchSubfolders = True, går word i stå (svar ikke). Ved at skrive False, søger den i kun C:\drevet (ikke undermapperne).
Tak for hjælpen.
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
Tag et kursus i Word og øg effektiviteten

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