Cómo obtener un nombre de archivo largo de un nombre de archivo corto

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

154822
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Resumen
La función Dir() puede utilizarse para devolver un nombre de archivo largo, pero no incluye información de la ruta de acceso. Analizando una determinada ruta de acceso corta/nombreDeArchivo en sus directorios constituyentes, puede utilizar la función Dir() para generar una ruta de acceso y nombre largo. En este artículo se muestra cómo lograr este comportamiento.
Más información
En el ejemplo de código siguiente se incluye una función que convertirá los nombres de archivo cortos en sus equivalentes de nombre de archivo largos y también incluye una sencilla demostración del uso de la función.

Ejemplo paso a paso

  1. Inicie Visual Basic. Se creará Form1 de manera predeterminada.
  2. Coloque un botón Command a Form1.
  3. En el menú Insertar, seleccione módulo para agregar un módulo de código único al proyecto.
  4. Agregue el código siguiente a Module1:
       Public Function GetLongFilename _     (ByVal sShortName As String) _     As String     Dim sLongName As String     Dim sTemp As String     Dim iSlashPos As Integer     'Add \ to short name to prevent Instr from failing     sShortName = sShortName & "\"     'Start from 4 to ignore the "[Drive Letter]:\" characters     iSlashPos = InStr(4, sShortName, "\")     'Pull out each string between \ character for conversion     While iSlashPos       sTemp = Dir(Left$(sShortName, iSlashPos - 1), _         vbNormal + vbHidden +    vbSystem + vbDirectory)       If sTemp = "" Then         'Error 52 - Bad File Name or Number         GetLongFilename = ""         Exit Function       End If       sLongName = sLongName & "\" & sTemp       iSlashPos = InStr(iSlashPos + 1, sShortName, "\")     Wend     'Prefix with the drive letter     GetLongFilename = Left$(sShortName, 2) & sLongName   End Function					
  5. Agregue lo siguiente al evento Command1_Click:
       Private Sub Command1_Click()     'Assumes C:\Program Files\Common Files is a valid path     Print GetLongFilename("C:\PROGRA~1\COMMON~1")   End Sub					
  6. Elija iniciar en el menú Ejecutar o presione la tecla F5 para iniciar.
  7. Haga clic en el botón de comando.
Si la ruta de acceso que ha proporcionado es válido, el equivalente largo se imprimirá en el formulario. Si no es válido, que se imprimirá nada, en cuyo caso tendrá que proporcionar un nombre de archivo corto válido en el código de evento Command1_Click.
kbVBp400 vkbVBp500bug kbVBp600bug kbVBp kbdsd kbDSupport KBWIN32SDK KBAPI

Advertencia: este artículo se ha traducido automáticamente

Propiedades

Id. de artículo: 154822 - Última revisión: 03/01/2014 15:23:25 - Revisión: 4.1

  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Edición de aprendizaje
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • kbnosurvey kbarchive kbmt kbhowto KB154822 KbMtes
Comentarios