Extraer nombre del archivo de una ruta
Saludos, necesito extraer el nombre de un archivo cuando sea seleccionado de una ruta y pasarlo a un textbox.
El asunto es el siguiente, tengo un botón y un caja de texto, donde deseo que al presionar el botón se habrá el dialogo del explorador de windows, y luego que yo elija la carpeta que este por defecto seleccione un archivo y ya al seleccionar se extraiga el nombre y aparezca en la caja de texto.
Poseo este código que hace algo parecido, pero su función es abrir un archivo y lo que necesito es que cuando seleccione el archivo pase el nombre al textbox.
Sub OpenSingleFile()
Dim Filter As String, Title As String
Dim FilterIndex As Integer
Dim Filename As Variant
' Filtro de archivos
Filter = "Archivos PDF (*.pdf),*.pdf," & _
"Archivos JPG (*.jpg),*.jpg," & _
"Archivos de Excel 2007 (*.xlsx),*.xlsx," & _
"Archivos de Excel 97-2000 (*.xls),*.xls," & _
"Archivos de Texto (*.txt),*.txt," & _
"Todos los archivos (*.*),*.*"
' Tipo de Archivo por defecto *.*
FilterIndex = 1
' Dialogo a mostrar
Title = "Seleccione el archivo a abrir"
' Seleccion del disco por defecto
ChDrive ("I")
ChDir ("I:\")
With Application
' Muestra el archivo a seleccionar
Filename = .GetOpenFilename(Filter, FilterIndex, Title)
' Resetea el disco por defecto
ChDrive (Left(.DefaultFilePath, 1))
ChDir (.DefaultFilePath)
End With
' Salir o Cancelar
If Filename = False Then
MsgBox "No se seleccionó ningun archivo."
Exit Sub
End If
' Abrir arcihvo
Workbooks.Open Filename
MsgBox Filename, vbInformation, "File Opened" ' Esto puede ser Borrado
End Sub
El asunto es el siguiente, tengo un botón y un caja de texto, donde deseo que al presionar el botón se habrá el dialogo del explorador de windows, y luego que yo elija la carpeta que este por defecto seleccione un archivo y ya al seleccionar se extraiga el nombre y aparezca en la caja de texto.
Poseo este código que hace algo parecido, pero su función es abrir un archivo y lo que necesito es que cuando seleccione el archivo pase el nombre al textbox.
Sub OpenSingleFile()
Dim Filter As String, Title As String
Dim FilterIndex As Integer
Dim Filename As Variant
' Filtro de archivos
Filter = "Archivos PDF (*.pdf),*.pdf," & _
"Archivos JPG (*.jpg),*.jpg," & _
"Archivos de Excel 2007 (*.xlsx),*.xlsx," & _
"Archivos de Excel 97-2000 (*.xls),*.xls," & _
"Archivos de Texto (*.txt),*.txt," & _
"Todos los archivos (*.*),*.*"
' Tipo de Archivo por defecto *.*
FilterIndex = 1
' Dialogo a mostrar
Title = "Seleccione el archivo a abrir"
' Seleccion del disco por defecto
ChDrive ("I")
ChDir ("I:\")
With Application
' Muestra el archivo a seleccionar
Filename = .GetOpenFilename(Filter, FilterIndex, Title)
' Resetea el disco por defecto
ChDrive (Left(.DefaultFilePath, 1))
ChDir (.DefaultFilePath)
End With
' Salir o Cancelar
If Filename = False Then
MsgBox "No se seleccionó ningun archivo."
Exit Sub
End If
' Abrir arcihvo
Workbooks.Open Filename
MsgBox Filename, vbInformation, "File Opened" ' Esto puede ser Borrado
End Sub
1 Respuesta
Respuesta de Elsa Matilde