Apertura cartella tramite Vba



  • Apertura cartella tramite Vba
    di Luca82 (utente non iscritto) data: 11/11/2014 23:44:16

    Ciao a tutti,
    spero che possiate darmi una mano sul seguente problema.
    Per lavoro dovrei creare una dashboard con una serie di pulsanti che puntanto sia a dei file specifici che a delle cartelle.
    Per quanto riguarda l'apertura dei file ho risolto con la funzione workbooks.open, mentre ho un problema con le cartelle.
    Nello specifico vorrei programmare un pulsante in modo tale che pigiandolo mi apre una cartella con all'interno altre sottocartelle o file di vario formato.
    Purtroppo non riesco a trovare una funzione o meglio non saprei quale sintassi in vba utilizzare. Qualcuno per cortesia sa come aiutarmi?
    Resto in attesa saluti
    Luca



  • di Zer0Kelvin data: 11/11/2014 23:53:21

    Ciao.
    Per aprire una cartella di windows puoi usare l'istruzione qui sotto.
    A Percorso devi sostituire il percorso della cartella che vuoi aprire; per es.:
    "C:MiaCartella"
     
    Shell "Explorer.exe /root,/select, " & Percorso, vbNormalFocus



  • di lepat (utente non iscritto) data: 12/11/2014 09:13:53

    secondo me dovresti spiegare meglio a cosa ti serve "aprire la cartella", perché non è detto cle la soluzione di Zer0 sia quella che desideri.



  • di camillo (utente non iscritto) data: 12/11/2014 12:10:13

    Purtroppo non credo di poterti aiutare in concreto.
    Posso solo indicarti una strada sicuramente percorribile.
    A suo tempo avevo sviluppato una procedura in Excel 2000; purtroppo non funzona su Excel 2010.
    Cerco di commentare l'immagine allegata.
    - con ComboBox scelgo la Directory nella quale cercare i file; la scelta viene riportata in E2
    - in E3 definisco l'estensione dei file
    - in E4 True estende la ricerca nelle Sub Directory
    - in E5 viene riportato il numero dei file trovati
    - tramite una serie di pulsanti posso selezionare diverse opzioni:
    - Conta files
    - Scrive files
    - Scrive Directory
    - Apre Directory
    - Apre Sub Directory
    - selezionando un file tra quelli estratti viene asseganto un collegamento ipertestuale in A2

    Mi sembra di capire che la tua versione sia 2010, se puoi disporre di Excel 2000, possiamo approfondire.



  • di Luca82 data: 12/11/2014 12:36:34

    Ragazzi cerco di spiegarmi meglio.
    Ho bisogno di programmare un pulsante che mi permetta di accedere ad una cartella all'interno del comune aziendale contenente file di vario genere e sotto cartelle.
    Ho trovato sul web la sintassi seguente che mi ha funzionato fino a quando non ho chiuso il file. Riaprendo il file ho notato che il pulsante non puntava più al seguente percorso (\NtfilesCOMUNEufficio qualitàPeopleVagnoniProgetti OnGoing) ma puntava ad un percorso diverso, nello specifico(RaccolteDocumenti).
    Se apro il VBA i percorsi memorizzati sono corretti ma quando avvio la macro mi punta ad un'altra cartella....

    sinceramente non so cosa sia successo o se la sintassi utilizzata è corretta.
    Spero di essere stato più preciso.

    Resto in attesa di un vostro aiuto.
    ciao
     
    Sub Pulsante3_Click()
    '
    ' Progetti OnGoing
    '
    ChDir ("\NtfilesCOMUNEufficio qualitàPeopleVagnoniProgetti OnGoing")
        FName = Application.GetOpenFilename("Tutti i files (*.*), *.*")
    
    End Sub



  • di lepat (utente non iscritto) data: 12/11/2014 12:52:35

    prova con
     
    Sub Pulsante3_Click()
    ChDrive "\"
    ChDir ("\NtfilesCOMUNEufficio qualitàPeopleVagnoniProgetti OnGoing")
        FName = Application.GetOpenFilename("Tutti i files (*.*), *.*")
    End Sub



  • di lepat (utente non iscritto) data: 12/11/2014 12:57:17

    oppure
     
    Sub Pulsante3_Click()
        With Application.FileDialog(msoFileDialogOpen)
            .InitialFileName = "\NtfilesCOMUNEufficio qualitàPeopleVagnoniProgetti OnGoing*.xls*"
            .Title = "Please Select a File"
            .ButtonName = "Open"
            .AllowMultiSelect = False
            .Show
            If .SelectedItems.Count = 0 Then Exit Sub            ' User clicked cancel: Exit
            strFile = .SelectedItems(1)
        End With
        msgbox strfile
    End Sub