Nombre de archivo en filedialog
Estuve checando la ayuda de VBA y encontre el filedialog ya mas o menos entendi las funciones que realiza. Ahora la rutina para abrir este control es la siguiente
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'Use a With...End With block to reference the FileDialog object.
With fd
'Use the Show method to display the File Picker dialog box and return the user's action.
'The user pressed the button.
.Filters.Add "Archivos de Excel", "*.xls;*.xlsx", 2
.FilterIndex = 2
.InitialFileName = ThisWorkbook.Path
.AllowMultiSelect = False
.ButtonName = "Elegir archivo"
.Title = "Elige el archivo que contiene el listado de autodesk"
If .Show = -1 Then
'Step through each string in the FileDialogSelectedItems collection.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem is aString that contains the path of each selected item.
'You can use any file I/O functions that you want to work with this path.
'This example displays the path in a message box.
' MsgBox "The path is: " & vrtSelectedItem
loc = CStr(vrtSelectedItem)
MsgBox "The path is: " & loc
Next vrtSelectedItem
'The user pressed Cancel.
Else
Exit Sub
End If
End With
'Set the object variable to Nothing.
Set fd = Nothing
En la parte en negritas se obtiene elpath del archivo que se selecciona, pero lo que quiero yo, es obtener el nombre del archivo.
Por ejemplo si el archivo se llama "hola.xls" quieroguardar en una variable solo eso y con esta rutina me guarda "C:\usuarios\misdocumentos\hola.xls"
Ojala si puedas con esta pregunta
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'Use a With...End With block to reference the FileDialog object.
With fd
'Use the Show method to display the File Picker dialog box and return the user's action.
'The user pressed the button.
.Filters.Add "Archivos de Excel", "*.xls;*.xlsx", 2
.FilterIndex = 2
.InitialFileName = ThisWorkbook.Path
.AllowMultiSelect = False
.ButtonName = "Elegir archivo"
.Title = "Elige el archivo que contiene el listado de autodesk"
If .Show = -1 Then
'Step through each string in the FileDialogSelectedItems collection.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem is aString that contains the path of each selected item.
'You can use any file I/O functions that you want to work with this path.
'This example displays the path in a message box.
' MsgBox "The path is: " & vrtSelectedItem
loc = CStr(vrtSelectedItem)
MsgBox "The path is: " & loc
Next vrtSelectedItem
'The user pressed Cancel.
Else
Exit Sub
End If
End With
'Set the object variable to Nothing.
Set fd = Nothing
En la parte en negritas se obtiene elpath del archivo que se selecciona, pero lo que quiero yo, es obtener el nombre del archivo.
Por ejemplo si el archivo se llama "hola.xls" quieroguardar en una variable solo eso y con esta rutina me guarda "C:\usuarios\misdocumentos\hola.xls"
Ojala si puedas con esta pregunta
1 Respuesta
Respuesta de mauricioexpe
-1