Declare Function GetLongPathName Lib "kernel32.dll" Alias "GetLongPathNameA" ( _ ByVal lpszShortPath As String, _ ByVal lpszLongPath As String, _ ByVal cchBuffer As Long) As Long
GetLongPathName преобразует короткое имя файла в длинное. Если длинное имя не найдено, то функция возвращает заданное имя.
В успешном случае функция возвращает длину строки, которая копируется в параметр lpszLongPath, или 0 в случае ошибки
Dim sShotPath As String Dim sLongPath As String sShotPath = "C:\PROGRA~1\" sLongPath = String(255, 0) Call GetLongPathName(sShotPath, sLongPath, 256) sLongPath = Left(sLongPath, InStr(1, sLongPath, Chr(0)) - 1) MsgBox sLongPath