Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _ ByVal lpszShortPath As String, _ ByVal cchBuffer As Long) As Long
GetShortPathName преобразует длинное имя файла в короткое (8.3) имя. Например, имя файла ReallyLongFile.txt будет преобразовано в REALLY~1.TXT. Короткое имя файла передается в переменную строку lpShortPath
Функция возвращает длину строки, или 0 в случае ошибки
' Преобразуем имя файла C:\My Documents\ReadMeFirst.txt Dim shortname As String ' строка для короткого имени Dim slength As Long ' длина короткого имени файла shortname = Space(255) ' создаем место в буфере для короткого имени файла slength = GetShortPathName("C:\My Documents\ReadMeFirst.txt", shortname, 255) shortname = Left(shortname, slength) ' извлекаем строку из буфера Debug.Print "Короткое имя: "; shortname
GetFullPathName, GetLongPathName