ListBox non funzionante



  • ListBox non funzionante
    di fabrizio (utente non iscritto) data: 27/05/2013 10:41:28

    Un buongiorno a tutto lo staff.
    come da titolo non riesco ad aprire il file precedentemente salvato nella listbox.
    quello che è strano che lo stesso codice scritto su una versione excel 2003 funziona perfettamente, mentre su quella 2010 mi da errore(va sul messaggio di errore che ho chiamato controllo:)
    Non resco a trovare l'inghippo, per comodità allego il codice scritto.
    Chiedo un aiuto a trovare la soluzione
    grazie a tutti

     
    Private Sub cmdArchivio_Click()
    Dim f As FileDialog, b As Boolean
    Set f = Application.FileDialog(msoFileDialogFilePicker)
    If f.Show = False Then Exit Sub
    Me.txtPercorso = f.SelectedItems(1)
    Sheets("Foglio10").[a1] = Me.txtPercorso
    
    
    End Sub
    
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim nfile As String
    nfile = Cells(ListBox1.ListIndex + 6, 8)
    On Error GoTo controllo
    Workbooks.Open Me.txtPercorso & "" & nfile
    Unload Me
    Exit Sub
    controllo:
    Call MsgBox("Il file non esiste più oppure la cartella di ricerca è sbagliata" _
    & vbCrLf & "cerca il percorso dove risiede il file" _
    , vbExclamation, "errore")
    Me.cmdArchivio.Enabled = True
    Me.cmdArchivio.SetFocus
    
    End Sub
    
    Private Sub UserForm_Activate()
        Dim ur As Integer, i As Integer
        ur = Foglio1.Cells(Rows.Count, 1).End(xlUp).Row
        
        With Me.ListBox1
            .ColumnCount = 8
            .ColumnWidths = "40;60;50;60;50;50;50;50"
            
            For i = 6 To ur
            .AddItem Cells(i, 1)
            .List(i - 6, 1) = Cells(i, 2)
            .List(i - 6, 2) = Cells(i, 3)
            .List(i - 6, 3) = Cells(i, 4)
            .List(i - 6, 4) = Cells(i, 5)
            .List(i - 6, 5) = Cells(i, 6)
            .List(i - 6, 6) = Cells(i, 7)
            .List(i - 6, 7) = Cells(i, 8)
           
            Next i
            
        End With
        Me.txtPercorso = Sheets("Foglio10").[a1]
       
    End Sub
    
    



  • di Vecchio Frac data: 27/05/2013 15:12:23

    Dovresti riportare il codice di errore e la sua descrizione. Siamo sicuri che l'errore sia proprio che il file non viene trovato?
    Sicuro che txtPercorso venga valorizzato?
    Non ho sototmano Excel 2010 qui, ma prova anche a costruire l'istruzione di Workbooks.Open in modod che sia chiaro il parametro FileName:
    workbooks.Open filename:=txtPercorso & "" & nfile
    E assicurati anche che "nfile" abbia anche l'estensione corretta (".xls" o ".xlsx" o quel che deve essere).





  • di Fabrizio (utente non iscritto) data: 27/05/2013 21:38:24

    Ciao Vecchio Frac, e grazie per la pronta risposta.
    Per quanto riguarda l'errore al doppio click della listbox mi va a controllo:, di conseguenza mi apre la msgbox qui sotto descritta.
    TxtPercorso sono sicuro che viene valorizzato tanto è vero che poi vado nel Foglio10 e li vedo memorizzato appunto il percorso corretto.
    grazie per il suggerimento per l'istruzione workbooks.open, mercoledì sarò davanti al pc e proverò quanto mi dici.
    "nfile" ha l'estensione corretta(xls per 2003, xlsx per 2010)
    a presto



  • di Fabrizio (utente non iscritto) data: 28/05/2013 22:02:00

    Ciao Vecchio Frac, ho fatto la modifica suggerita ma il problema rimane, non riesco a capire dove andare a cercare la soluzione, guarda anche la mia precedente risposta alle tue domande.
    a presto



  • di Vecchio Frac data: 29/05/2013 11:45:36

    Togli On Error (basta che commenti la riga mettendoci un apice davanti) e ti comparirà il messaggio di debug; quindi riporta qui il codice d'errore e la sua descrizione, così si capirà da che cosa è originato il problema. Nove su dieci che sarà "1004: impossibile trovare il file" :)
    Il percorso puntato da txtpercorso è un percorso di rete o locale?





  • di fabrizio (utente non iscritto) data: 04/06/2013 11:14:27

    Ciao Vecchio Frac, scusa il ritardo nel rispondere, solo ora sono disponibile, avevi ragione tu l'errore che compare è il seguente:

    Errore di run-time '1004' Impossibile trovare 'F:NuovoCOMM.946B-1210.xlsxComm.946B-1210'
    quello che vedo da questo messaggio che è strano il fatto che mi dichiara il 2 volte, il secondo pezzo non ho capito perchè lo dichiara, in ogni caso ti confermo che il percorso è quello corretto ed esiste il file chiamto.
    Il percorso del file l'ho provato sia in rete che in locale e riconfermo che con 2010 non funziona in nessun caso, mentre in 2003 l'ho provato solo in locale e funziona
    grazie per l'attenzione
    a presto



  • di Vecchio Frac data: 04/06/2013 18:53:15

    Non c'è nessun motivo apparente per questo comportamento.
    Proverò a ricostruire lo scenario.





  • di Fabrizio (utente non iscritto) data: 12/06/2013 21:56:18

    Mi viene un dubbio, ma non è che in 2010 nel menu opzioni debbo impostare qualche cosa per non farlo andare in errore?, cosa che ovviamente in 2003 non serve perchè funziona



  • di fabrizio (utente non iscritto) data: 05/07/2013 11:24:46

    Scusate se insito ma ancora non funziona con excel 2010(nel senso che quando faccio doppio click sul record selezionato nella listbox non mi apre il file precedentemente salvato dandomi errore che non trova il file, assicuro che il file esiste ed è posizionato nel percorso corretto), mentre se uso la vecchia versione 2003 oppure se apro il file creato sempre in 2003 ma da excel 2010 funziona il tutto, non mi capacito ancora della cosa, ma sopratutto non arrivo alla soluzione.
    grazie per l'attenzione



  • di fabrizio (utente non iscritto) data: 05/07/2013 15:56:04

    Chiedo scusa allo staff, ma finalmente ho capito dove sbagliavo.
    In sostanza mettevo l'identazione(.) nel nome del file salvato e questo mi davo errore, sostituito con (_) underscore tutto si è risolto.
    grazie a tutti



  • di Vecchio Frac data: 05/07/2013 16:02:20

    Meno male. Era altrimenti inspiegabile.