View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default Convert Long File Name to Short File Name

Robert,
And here's an example cribbed from the API-Guide:

Private Declare Function GetShortPathName Lib "kernel32" Alias
"GetShortPathNameA" _
(ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal lBuffer As Long) _
As Long

Public Function GetShortPath(strFileName As String) As String
'KPD-Team 1999
'URL: http://www.allapi.net/
Dim lngRes As Long, strPath As String
'Create a buffer
strPath = String$(165, 0)
'retrieve the short pathname
lngRes = GetShortPathName(strFileName, strPath, 164)
'remove all unnecessary chr$(0)'s
GetShortPath = Left$(strPath, lngRes)
End Function

NickHK


"NickHK" wrote in message
...
Robert,
You can use the GetShortPathName API call, instead of trying to do it
yourself.
Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA"
(ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal
cchBuffer As Long) As Long
See here for an example :
http://vbnet.mvps.org/code/hooks/fil...dlghookadv.htm

NickHK

"Robert_L_Ross" wrote in message
...
OK, he're's the dilemma.

I have two lists of files I've imported. One has the file names/paths

in
long format that contains the path, name, size, last accessed, etc.

The other list has them in DOS format wiht name, path size, last

accessed
and owner.

I need to get the file name strings in the same format so I can compare

the
two and put the owners to the long file names.

Is there some magical way to put these lists in Excel and somehow

convert
the long file paths/names to short file paths/names? It's the only way

I
can
think of to get the files in sync. I thought of converting from short

to
long, but my problem is I may have three files with a short name of
OGS101~1.TXT that have three different owners - how would I know what

one
is
~1, ~2 or ~3 when they are all the same size/file date?

I found some scripts that take out the spaces, but I don't know how the
short file name handles special characters and how it truncates to ~2,

~3,
etc.

Any help would be greatly appreciated!