Aprire un file in Excel

  • Aprire un file!! di Kuriku
    Salve dovrei creare un modulo che mi permetta di aprire dei file da consultare, i file sono .xls e non si conosce il nome ma sono tutti nella stessa cartella, devono essere aperti solo in lettura, come si fà??

    vi ringrazio per un eventuale aiuto!!

    di Apoben64
    Ciao e benvenuto nel forum, guarda intanto una risposta in questo link :
    http://www.erlandsendata.no/english/index.php?d=envbafoldersbasic

    di Kuriku
    Ma non c'è nulla che apre semplicemete la cartella in cui sono i file??cio è io devo ricreare l'equivalente del tasto apri nulla di +!!per quanto riguarda l'apertura in sola lettura non è indispensabile se si può fare si fà altrimenti non fa nulla!!cmq grazie e aspetto vostre notizie

    di Kuriku
    Alla fine ci sono riuscito posto il risultato qui così potrà essere d'aiuto a tutti!!

     
    Private Sub Open_File()
    Dim fn As Variant
        fn = Application.GetOpenFilename("Excel-files,*.xls",_ 1, "DATABASE FILE", , False)
        If TypeName(fn) = "Boolean" Then Exit Sub
        Workbooks.Open fn
        Unload Me
    End Sub

    di Apoben64
    Anch'io :
     
    Sub aprifile() 
    Dim nomefile 
    nomefile = Application.GetOpenFilename(fileFilter:="... , *.xls",  _ 
    Title:="Apertura Documento esistente") 
    On Error GoTo esci 
    If nomefile <> False Then Workbooks.Open Filename:=nomefile 
    esci: 
    End Sub 
    

    di Kuriku
    Ho migliorato l'algoritmo eliminando anche il problemino della cartella di apertura lo posto per correttezza:
     
    Private Sub CmdCon_Click()
    Dim oldPath As String
    Dim afilename As String
        
        With Application
            oldPath = .DefaultFilePath
            .DefaultFilePath = ThisWorkbook.Path
            ChDir .DefaultFilePath
            afilename = .GetOpenFilename("Excel-files,*.xls", 1, "DATABASE FILE", , False)
            .DefaultFilePath = oldPath
        End With
        Unload Me
    End Sub