How To Get a Short Filename from a Long Filename

This article was previously published under Q175512
This article has been archived. It is offered "as is" and will no longer be updated.
SUMMARY
Under certain circumstances, it may be necessary to get the Short Filenameequivalent of a file that has a Long Filename. The example below will allowyou to select a file that has a Long Filename and return it's ShortFilename using the GetShortPathName API Function call.
MORE INFORMATION
The following code example includes a function that will convert longfilenames into their short filename equivalents and also includes a simpledemonstration of the function's use.

Step-by-Step Example

  1. Create a new Standard EXE project in Visual Basic. Form1 is created by default.
  2. Place a CommandButton on Form1.
  3. Place a Common Dialog control on the form.
  4. From the Insert menu, select Module to add a single code module to the project.
  5. Add the following code to Module1:
       Declare Function GetShortPathName Lib "kernel32" _      Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _      ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long   Public Function GetShortName(ByVal sLongFileName As String) As String       Dim lRetVal As Long, sShortPathName As String, iLen As Integer       'Set up buffer area for API function call return       sShortPathName = Space(255)       iLen = Len(sShortPathName)       'Call the function       lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)       'Strip away unwanted characters.       GetShortName = Left(sShortPathName, lRetVal)   End Function					
  6. Add the following code to Form1:
       Private Sub Command1_Click()     Dim msg As String     CommonDialog1.FileName = "*.*"     CommonDialog1.ShowOpen     msg = "Long File Name: " & CommonDialog1.filename & vbCrLf     msg = msg & "Short File Name: " & GetShortName(CommonDialog1.filename)     MsgBox msg   End Sub					
  7. Run the project by pressing the F5 key. Click on the Command button to show the Open dialog box. Navigate the Open dialog box and find a file that has a Long Filename. Select the file and click OK.
  8. The message box will display the Long File name along with its Short File name.
REFERENCES
For additional information, please see the following article in theMicrosoft Knowledge Base:
154822 How To Get a Long Filename from a Short Filename
Properties

Article ID: 175512 - Last Review: 12/05/2015 08:08:00 - Revision: 3.2

Microsoft Visual Basic 5.0 Control Creation Edition, Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic 4.0 Standard Edition, Microsoft Visual Basic 4.0 Professional Edition, Microsoft Visual Basic 4.0 32-Bit Enterprise Edition, Microsoft Visual Basic 6.0 Learning Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 6.0 Enterprise Edition

  • kbnosurvey kbarchive kbhowto kbdocfix KB175512
Feedback