У меня есть путь в сокращенной версии или в формате DOS("C :/DOCUME ~1" например )и хотите получить полный путь/длинный путь(«C :/Документы и настройки» например ).
Я попробовал API GetLongPathName. Это сработало. Но когда имеешь дело с юникодным именем файла, получается сбой.
Private Declare Function GetLongPathName Lib "kernel32" Alias _
"GetLongPathNameA" (ByVal lpszShortPath As String, _
ByVal lpszLongPath As String, ByVal cchBuffer As Long) As Long
Вместо этого я попытался использовать псевдоним GetLongPathNameW, но, похоже, ничего не делает, для ОБА Unicode и не -имени файла Unicode всегда возвращайте 0. В MSDN есть только статья о GetLongPathNameW для C/C++, а не для VB/VBA. Могу ли я сделать что-то не так?
Есть ли решение для этого случая? Я провожу часы в Google и StackOverflow, но не могу найти.
С уважением,