|
|
API : GetShortName
| Autor/es: Juan M Afán de Ribera | Pregunta : ¿Cómo puedo obtener el nombre y la ruta corta para una ruta que puede tener más de 8 caracteres por nombre, es decir la ruta del tipo que devolvía el MS-DOS? Hay algunas funciones o métodos de Access o Visual Basic que parecen tener problemas con los nombres largos del tipo
C:\Archivos de programa\Microsoft Office\Office\MSACCESS.EXE
y en cambio, esperan un nombre del tipo
C:\ARCHIV~1\MICROS~1\OFFICE\MSACCESS.EXE | | Respuesta : Puedes utilizar la función GetShortName para ese propósito. Esta función devolverá el nombre corto para el nombre y ruta que se le pasen en su argumento LongPath. | '---------------------------------------------------------
'
' GetShortName
'
' Código escrito originalmente por Juan M Afán de Ribera.
' Estás autorizado a utilizarlo dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
' En el caso de querer publicarlo en una página Web,
' por favor, contactar con el autor en
'
' accessvbafaq@ya.com
'
' Este código se brinda por cortesía de
' Juan M. Afán de Ribera
'
Private Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" _
(ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal lBuffer As Long) As Long
Function GetShortName(LongPath As String) As String
Dim LenShortName As Long
Dim buffer As String * 1000
LenShortName = GetShortPathName(LongPath, _
buffer, Len(LongPath))
If LenShortName Then
GetShortName = Left$(buffer, LenShortName)
End If
End Function
'---------------------------------------------------------
| Ejemplos: | Temas relacionados: GetLongName |
|