SELEZIONARE UNA CARTELLA



  • SELEZIONARE UNA CARTELLA
    di RITA (utente non iscritto) data: 24/01/2013 18:53:14

    Ciao a tutti
    ho un grosso problema da risolvere che in apparenza sembra banale.
    L'istruzione qui sotto fa si che mi si apra una maschera in un percorso e mi fa fa vedere dei file di testo
    successivamente clicco su un file e mi associa il percorso e il nome del file a "filetoopen"
    C'e' un modo simile o analogo che mi faccia aprire una maschera e mi consenta di cliccare su una cartella e associ il percorso e la cartella a "filetoopen"
    Vi sarei grata dell'aiuto.
     
    SUB (SCEGLI)
    filetoopen = Application.GetOpenFilename("TEXT Files (*.TXT), *.TXT", , "Selezionare il percorso ed un qualsiasi flusso", "Apri", "False")
    If filetoopen = False Then
    EXIT SUB
    END SUB



  • di Vecchio Frac data: 24/01/2013 19:13:55

    Un metodo semplice è
    Application.FindFile
    (che apre anche il file su cui clicchi)

    altrimenti con

    set f = application.FileDialog(msoFileDialogFolderPicker )
    f.show
    in f.selecteditems(1) hai l'elemento selezionato





  • di RITA (utente non iscritto) data: 24/01/2013 19:52:17

    Dire che sei stato grandissimo e' poco, ho risolto con la seconda soluzione infatti mi serviva selezionare la cartella ed inserire il percorso
    in una cella.
    Ti posto quello che ho fatto, molto banale.
    ps volevo chiederti se invece di inserire tutto il percorso esisteva un modo per inserire solo l'ultima cartella
     
    Set f = Application.FileDialog(msoFileDialogFolderPicker)
    f.Show
    Range("a1").Value = CurDir
    



  • di Vecchio Frac data: 24/01/2013 21:01:52

    Non ho capito la domanda :)
    Forse intendi dire che vuoi aprire l'ultima cartella che hai visitato? proprietà InitialFileName.
    Prova e studiati il codice che ti allego. Gestisce anche la pressione di "Annulla" senza errori.

    Comunque invece di Range("a1").Value = CurDir
    potevi scrivere:
    [A1] = f.SelectedItems(1)
    che è più aderente all'uso del FileDialog e visto che hai selezionato un elemento dalla finestra di selezione cartella, questo è il primo nella collezione degli elementi cliccati.
     
    Option Explicit
    
    Sub open_dir()
    Dim f As FileDialog, b As Boolean
        Set f = Application.FileDialog(msoFileDialogFolderPicker)
        f.InitialFileName = [A1] & "*.*"
        b = f.Show
        If b = False Then Exit Sub
        [A1] = f.SelectedItems(1)
    End Sub
    






  • di rita (utente non iscritto) data: 27/01/2013 13:48:30

    ho provato quello che mi avevi postato ed effettivamente curdir e' meglio non utilizzarlo.
    in ogni caso grazie per l'aiuto