Avatar billede yuksel Nybegynder
19. april 2005 - 10:58 Der er 10 kommentarer og
1 løsning

søg efter en xml

hej til alle.

Jeg skal søge efter en xml fil,som hedder noget med  job.xml
jeg kan have 2 tilfælde hvor der kun eksistere job.xml
og der kan eksistere  job.xml samt job1.xml eller andet nr med job.

jeg skal så søge efter navnet i en bestemt mappe og vælge en af dem og læse en felt fra den ene  .

er der nogen der har en ide ?
19. april 2005 - 11:01 #1
Jeg har nogle stumper kode liggende, som søger efter filer her: http://www.makeiteasy.dk/eksempler/VBFunktioner.htm

De skulle kunne hjælpe dig
Avatar billede yuksel Nybegynder
19. april 2005 - 11:18 #2
det er så "Find placering af filer" jeg skal bruge , men jeg kender jo ikke hvad min filer hedder 100%
jeg ved at min stil er c:test/test1
og jeg ved at filen er typen xml
og jeg ved at den starter med "main"  ' dvs den kan hedder main1.xml, eller main2.xml osv.
Avatar billede yuksel Nybegynder
19. april 2005 - 11:18 #3
hvor vil du redigere de her opslysninger  ?:




Public Function FindFiler(strFilename As String, strDrive As String, Optional ReturnAll As Boolean = True) As String

Dim varItm As Variant
Dim strFiles As String
Dim strTmp As String
Dim strResult As String
   
    If InStr(strFilename, ".") = 0 Then
        MsgBox "Du skal angive hele filnavnet!", vbCritical, "Extension mangler!"
        Exit Function
    End If
    'Hvis : mangler
    If InStr(strDrive, ":") = 0 And Len(strDrive) = 1 Then
        strDrive = strDrive & ":"
    End If
   
    With Application.FileSearch
        .NewSearch
        .LookIn = strDrive
        .SearchSubFolders = True
        .Filename = strFilename
        .MatchTextExactly = True
        .FileType = 2 'msoFileTypeAllFiles
        If .Execute > 0 Then
            For Each varItm In .FoundFiles
                strTmp = ExtractFileName(varItm)
                If strFilename = strTmp Then
                    If ReturnAll Then
                        strResult = strResult & varItm & ";"
                    Else
                        FindFiler = varItm
                        Exit Function
                    End If
                End If
            Next varItm
            strResult = Left(strResult, Len(strResult) - 1)
            FindFiler = strResult
        End If
    End With
End Function
19. april 2005 - 14:37 #4
den er lidt værre...den må jeg tænke over....måske kan andre bidrage?
19. april 2005 - 14:43 #5
Prøv denne:

Public Function FindFiler(strFilename As String, strDrive As String, Optional ReturnAll As Boolean = True) As String

Dim varItm As Variant
Dim strFiles As String
Dim strTmp As String
Dim strResult As String
   
    'Hvis : mangler
    If InStr(strDrive, ":") = 0 And Len(strDrive) = 1 Then
        strDrive = strDrive & ":"
    End If
   
    With Application.FileSearch
        .NewSearch
        .LookIn = strDrive
        .SearchSubFolders = True
        .Filename = strFilename
        .MatchTextExactly = True
        .FileType = 2 'msoFileTypeAllFiles
        If .Execute > 0 Then
            For Each varItm In .FoundFiles
                strTmp = ExtractFileName(varItm)
                If strTmp Like strFilename Then
                    If ReturnAll Then
                        strResult = strResult & varItm & ";"
                    Else
                        FindFiler = varItm
                        Exit Function
                    End If
                End If
            Next varItm
            strResult = Left(strResult, Len(strResult) - 1)
            FindFiler = strResult
        End If
    End With
End Function

Herefter kan du spørge således:

Findfiler("Mail*.xml", "C:", True)
Avatar billede yuksel Nybegynder
19. april 2005 - 14:47 #6
hvad mener du med at spørge ?
Avatar billede yuksel Nybegynder
19. april 2005 - 14:49 #7
når jeg kalder det ved : Findfiler("Mail*.xml", "C:", True) så siger den syntakst error
19. april 2005 - 14:52 #8
i debug-vinduet (Ctrl+G) kan du skrive således:

?Findfiler("Mail*.xml", "C:", True)
Avatar billede yuksel Nybegynder
19. april 2005 - 14:54 #9
den melder

compile error:
Expected:list separator )
Avatar billede yuksel Nybegynder
19. april 2005 - 14:57 #10
det her virker hellere ikke
Findfiler("Mail*.xml", "C:", = True)
Avatar billede kjulius Novice
21. april 2005 - 19:20 #11
Er det bare mig der fejlfortolker dit spørgsmål?

For mig ser det ud som du bare skal bruge en CommonDialog til at finde din fil (altså en helt normal standard Åbn funktion, hvor du får returneret stien til den fil du markerer).

Er jeg helt forkert på den?
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