** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Seleccionar archivo sin abrirlo.
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Seleccionar archivo sin abrirlo.

 Responder Responder
Autor
Mensaje
elregajo Ver desplegable
Nuevo
Nuevo


Unido: 29/Diciembre/2020
Localización: Alicante
Estado: Sin conexión
Puntos: 32
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita elregajo Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Seleccionar archivo sin abrirlo.
    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.
Arriba
elregajo Ver desplegable
Nuevo
Nuevo


Unido: 29/Diciembre/2020
Localización: Alicante
Estado: Sin conexión
Puntos: 32
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita elregajo Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 04/Abril/2021 a las 13:44
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.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6162
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 04/Abril/2021 a las 14:05
Hola!

Si utilizas FileDialog tiene las opciones de abrir carpetas, archivos, etc... (MsoFileDialogType)

Un Saludo.
Arriba
elregajo Ver desplegable
Nuevo
Nuevo


Unido: 29/Diciembre/2020
Localización: Alicante
Estado: Sin conexión
Puntos: 32
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita elregajo Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 09/Abril/2021 a las 13:58
No consigo hacer lo que pretendo.
Podemos cerrar este hilo.
Gracias.
Arriba
Juanmasp Ver desplegable
Habitual
Habitual


Unido: 21/Abril/2006
Estado: Sin conexión
Puntos: 64
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Juanmasp Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 09/Abril/2021 a las 15:26
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.
Arriba
acilu55 Ver desplegable
Habitual
Habitual


Unido: 27/Septiembre/2011
Estado: Sin conexión
Puntos: 154
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita acilu55 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 13/Abril/2021 a las 17:29
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
Arriba
Darioregclean Ver desplegable
Habitual
Habitual
Avatar

Unido: 14/Diciembre/2008
Localización: Argentina
Estado: Sin conexión
Puntos: 113
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Darioregclean Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 5 horas 55 minutos a las 00:05
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.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable