ParsePath - Office Programs procedure

Beschrijving

Ontleed een doorgegeven pad en geeft het gewenste deel terug.

Enum

Plaats deze code in een standaardmodule boven procedures.

    Enum opParsePath

        FileOnly

        PathOnly

        DriveOnly

        FileExtOnly

        FileOnlyNoExt

    End Enum

Procedure

Function ParsePath(strPath As String, lngPart As opParsePath) As String

' //-- Office Programs procedure www.officeprograms.nl --//

    

' Ontleed een doorgegeven pad a.d.h.v. lngPart. Deze functie maakt gebruik van de Enum opParsePath.

    

    Dim lngPos As Long

    Dim strPart As String

    Dim blnIncludesFile As Boolean

    

    On Error GoTo Bye_Err

    

    ' Ga na of dit bestand een pad is.

    ' Zoek naar de laatste path seperator.

    lngPos = InStrRev(strPath, "\")

    

    ' Bepaal of het laatste gedeelte van de string na de laatste backslash een punt bevat.

    ' Hier wordt gecontroleerd of de punt na lngPos staat.

    blnIncludesFile = InStrRev(strPath, ".") > lngPos

    

    If lngPos > 0 Then

        Select Case lngPart

            ' Geef de bestandsnaam terug.

            Case opParsePath.FileOnly

                If blnIncludesFile Then

                    strPart = Right(strPath, Len(strPath) - lngPos)

                Else

                    strPart = ""

                End If

            ' Geef het pad terug.

            Case opParsePath.PathOnly

                If blnIncludesFile Then

                    strPart = Left(strPath, lngPos)

                Else

                    strPart = strPath

                End If

            ' Geef alleen de bestandsnaam zonder extensie terug.

            Case opParsePath.FileOnlyNoExt

                If blnIncludesFile Then

                    strPart = Right(strPath, Len(strPath) - lngPos)

                    strPart = Left(strPart, InStr(strPart, ".") - 1)

                Else

                    strPart = strPath

                End If

            ' Geef de drive letter terug.

            Case opParsePath.DriveOnly

                strPart = Left(strPath, 3)

            ' Geef de extentie terug.

            Case opParsePath.FileExtOnly

                If blnIncludesFile Then

                    ' Neem alle karakters na de laatste punt zodat ook lange extentsie worden herkend.

                    strPart = Right(strPath, Len(strPath) - InStrRev(strPath, "."))

                Else

                    strPart = ""

                End If

            Case Else

                strPart = ""

        End Select

    End If

    ParsePath = strPart

    

Bye_End:

    Exit Function

Bye_Err:

    MsgBox MsgErr, vbCritical, MT

    Resume Bye_End

End Function

Toelichting

Er is momenteel geen toelichting maar die kan in de toekomst worden geplaatst. Ga voorlopig uit van het algemene gebruik.

Zie ook

Er zijn momenteel geen verwijzingen maar die kunnen in de toekomst worden geplaatst.

Cursussen