Formats a path for use in user displays, trim it beautifly.
PrettyPath is useful for trimming down long directory paths or abbreviating them. No attempt is made by PrettyPath to determine the validity of the entered path's syntax or if the path already exists on the server.
The output of PrettyPath is meant for display purposes only. It should not be used programmatically to pass paths to the FileSystemObject for example.
The path to format for display. Can be a virtual, relative or absolute path to a file or folder.
Optional. Integer. Default: 3
Each path element will stop being displayed after this length.
Value can be 0 or greater.
Regardless of the remaining characters in the element, they will be replaced with three dots as placeholders "...".
if hLen is 2 and the path entered is "c:\winnt\system32" then PrettyPath will format the path as
If hLen is 0, the path would be "c:\...\..."
Optional. Boolean. Default: False
Show the file name (if path is determined to be a file by prettypath). If set to true, the bExtOnly argument is ignored and the file name in it's entirety (including extension) is shown. Does nothing if the path entered is determined to be a directory path.
Optional. Boolean. Default: True
Show the file extension (if path is determined to be a file by PrettyPath). If True, file extension is shown. If false, extension may be removed depending on the size of hLen.
Dim elements, i, tmp, bLast, sElm, sDelim, chopsize
Dim showfullfilename, showfileextension
chopsize = hLen
showfullfilename = bFile
showfileextension = bExtOnly
if isnull(chopsize) then chopsize = 3
if isnull(showfullfilename) then showfullfilename = false
if isnull(showfileextension) then showfileextension = true
bLast = false
sDelim = "\"
if instr(sPath, sDelim) = 0 then sDelim = "/"
elements = split(sPath, sDelim)
for i = 0 to ubound(elements)
sElm = elements(i)
if len(sElm) > 5 then
if i = ubound(elements) then
if showfullfilename then
tmp = ""
elseif showfileextension then
tmp = right(sElm, len(sElm) - instrrev(sElm, "."))
bLast = true
if chopsize > 0 then
elements(i) = left(sElm, chopsize) & "..."
elements(i) = "..."
if showfileextension and bLast then
elements(i) = elements(i) & tmp
PrettyPath = Join(elements, sDelim)