Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB6,VBS
Expertise: Intermediate
Mar 18, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

GetShortenedFileName - Make a filename shorter using ellipses

' return a file path not longer than the number of character
' specified in the 2nd argument
' If necessary, it replaces directory names with ellipsises
' Author: Fred Block
'         CuzWare Systems
'         E-mail: fblock@cuzware.com
'         Web Site: http://www.cuzware.com

Function GetShortenedFileName(ByVal strFilePath As String, _
    ByVal maxLength As Long) As String
    Dim astrTemp() As String
    Dim lngCount As Long
    Dim strTemp As String
    Dim index As Long
    ' if the path is shorter than the max allowed length, just return it
    If Len(strFilePath) <= maxLength Then
        GetShortenedFileName = strFilePath
        ' split the path in its constituent dirs
        astrTemp() = Split(strFilePath, "\")
        lngCount = UBound(astrTemp)
        ' lets replace each part with ellipsis, until the length is OK
        ' but never substitute drive and file name
        For index = 1 To lngCount - 1
            astrTemp(index) = "..."
            ' rebuild the result
            GetShortenedFileName = Join(astrTemp, "\")
            If Len(GetShortenedFileName) <= maxLength Then Exit For
    End If
End Function
Fred Block
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date