Declare Function GetShortPathName Lib "kernel32" Alias " _
GetShortPathNameA" (ByVal lpszLongPath As String, _ ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long Private Sub Dir1_Change() File1 = Dir1.Path End Sub Private Sub Drive1_Change() Dir1 = Drive1 End Sub Private Sub File1_Click() Label1.Caption = GetShortFileName(Dir1 & "\" & File1) End Sub Public Function GetShortFileName(ByVal FileName As String) As String 'converts a long file and path name to old DOS format 'PARAMETERS ' FileName = the path or filename to convert 'RETURNS ' String = the DOS compatible name for that particular FileName Dim rc As Long Dim ShortPath As String Const PATH_LEN& = 164 'get the short filename ShortPath = String$(PATH_LEN + 1, 0) rc = GetShortPathName(FileName, ShortPath, PATH_LEN) GetShortFileName = Left$(ShortPath, rc) End Function |