Seleccionar archivo sin abrirlo. |
Responder |
Autor | |
elregajo
Nuevo Unido: 29/Diciembre/2020 Localización: Alicante Estado: Sin conexión Puntos: 39 |
Opciones de entrada
Gracias(0)
Enviado: 02/Abril/2021 a las 13:32 |
Buenos días. Vereis, necesito, al pulsar un botón, abrir una carpeta que contiene varios archivos. Hasta aquí no hay problema. Una vez abierta la carpeta quiero que quede seleccionado un archivo concreto pero sin abrirlo, solo seleccionado. Y es aquí donde me he atascado. Qué tengo que hacer para dejar seleccionado ese archivo concreto en esa carpeta abierta. Gracias.
|
|
elregajo
Nuevo Unido: 29/Diciembre/2020 Localización: Alicante Estado: Sin conexión Puntos: 39 |
Opciones de entrada
Gracias(0)
|
Bueno, dado que parece que esto no es posible desde VBA, si los moderadores lo consideran se puede cerrar el hilo. He buscado en muchos sitios y no encuentro nada sobre esto. Gracias.
|
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Opciones de entrada
Gracias(0)
|
Hola!
Si utilizas FileDialog tiene las opciones de abrir carpetas, archivos, etc... (MsoFileDialogType) |
|
Un Saludo.
|
|
elregajo
Nuevo Unido: 29/Diciembre/2020 Localización: Alicante Estado: Sin conexión Puntos: 39 |
Opciones de entrada
Gracias(0)
|
No consigo hacer lo que pretendo. Podemos cerrar este hilo. Gracias.
|
|
Juanmasp
Habitual Unido: 21/Abril/2006 Estado: Sin conexión Puntos: 118 |
Opciones de entrada
Gracias(0)
|
Hola, buscando por internet, para abrir el explorer y seleccionar un fichero (tambien funciona con carpetas), se usa este comando explorer.exe /select,"C:\Folder\subfolder\file.txt"
Espero que te sirva.
|
|
acilu55
Asiduo Unido: 27/Septiembre/2011 Estado: Sin conexión Puntos: 214 |
Opciones de entrada
Gracias(0)
|
La respuesta mas útil dependerá bastante del uso que vayas a hacer con el archivo selecionad
o: si solo es mostrarlo, o copiar su nombre valdrá con FileDialog, su es para moverlo a eliminarlo, mejor con explorer.exe
|
|
Gracias a todos de antemano
|
|
Darioregclean
Habitual Unido: 14/Diciembre/2008 Localización: Argentina Estado: Sin conexión Puntos: 113 |
Opciones de entrada
Gracias(0)
|
Hola amigos. Como dice Mounir Filedialog te permite hacer eso.
Si mal no recuerdo, debes tener habilitada la referencia "Microsoft Scripting Runtime" En mi caso, tengo un formulario con un control de lista donde se muestras los nombres de todos los archivos que se seleccionaron y cuyas propiedades se almacenaron en una tabla temporalpara. Para ello tengo el siguiente procedimiento donde le envío el nombre del formulario que lo llama y el tipo de archivos que quiero que retornen. Public Sub Seleccionar_Archivos(sCallerForm As String, cFileType As cArchivos_FileTypes) 'Declaración de variables. 'Objetos. Dim oArchivo As New cArchivos Dim oFD As FileDialog Dim oFSO As New FileSystemObject 'fso=CreateObject("Scripting.FileSystemObject") Dim oFile As File 'Nombres de objetos Dim tblArchivos As String 'este es el nombre de la tabla temporal donde guardo los datos Dim vrtSelectedItem As Variant Dim fldFilePath As String Dim fldFileName As String Dim fldFormName As String 'Generales Dim SQL As String Dim sFilePath As String Dim sFileName As String Dim sFormName As String Dim sFileType As String Dim sSQL As String 'Inicialización de variables. sFormName = sCallerForm tblArchivos = oArchivo.Get_TablasNombres(ctbl_Archivos) 'oArchivo es una clase que tengo, donde, en este caso, se indica el nombre de la tabla temporal fldFilePath = oArchivo.Get_CamposNombres(cfld_FilePath) 'de manera similar aquí recupero el nombre de la columna de la tabla temporal, donde se guarda el path completo fldFileName = oArchivo.Get_CamposNombres(cfld_FileName) 'aquí optengo el nombre de la columna donde se guardará solo el nombre del archivo fldFormName = oArchivo.Get_CamposNombres(cfld_FormName) 'Este es el nombre del campo donde se guarda el nombre del formulario que ha hecho la solicitud. Set oFD = Application.FileDialog(msoFileDialogFilePicker) 'Cargar los archivos seleccionados en la tabla de archivos. With oFD .Title = "Seleccionar los archivos." .Filters.Clear .Filters.Add cFileType, Get_FileTypeFilter(cFileType) .FilterIndex = 1 .AllowMultiSelect = True .InitialFileName = CurrentProject.Path 'Brindar al usuario la posibilidad de presetear una carpeta de inicio. If .Show = -1 Then For Each vrtSelectedItem In .SelectedItems sFilePath = vrtSelectedItem Set oFile = oFSO.GetFile(sFilePath) sFileName = oFile.Name sFileType = Right(Trim(oFile.Type), Len(oFile.Type) - Len("Archivo ")) 'Aquí se indican los tipos de archivos que se desean ver si se coloca "*.*" mostrará todos. sSQL = "INSERT INTO [" & tblArchivos & "]" _ & "([" & fldFilePath & "]" _ & ",[" & fldFileName & "]" _ & ",[" & fldFormName & "])" _ & " VALUES ('" & sFilePath & "'" _ & ", '" & sFileName & "'" _ & ", '" & sFormName & "')" DoCmd.SetWarnings False 'Debug.Print sSQL DoCmd.RunSQL sSQL DoCmd.SetWarnings True Next vrtSelectedItem Else MsgBox "not show" End If End With Set oFD = Nothing 'Limpieza de variables. Set oArchivo = Nothing Set oFD = Nothing Set oFSO = Nothing Set oFile = Nothing End Sub Bueno amigos, espero que ayude en algo. Saludos para todos.
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |