+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Excel che non si chiude

  1. #1
    eaglesl non  in linea Novello
    Buongiorno a tutti.
    Utilizzo questo codice per aprire un file excel, leggere i dati e richiuderlo:


    Set appExcel = CreateObject("Excel.Application")
    Set cartExcel = appExcel.Workbooks.Open("file.xlsx")
    Set foglioExcel = cartExcel.Worksheets(1)
    
    appExcel.Visible = True
    Set oRange = Nothing
    Set foglioExcel = Nothing
        
    cartExcel.Close
    Set cartExcel = Nothing
    
    appExcel.Quit
    Set appExcel = Nothing
    

    In questo modo l'excel si apre e si chiude correttamente.

    Se per all'interno inserisco il seguente codice per contare il numero di righe:

    RR = Range("A1:O1").Range(Range("A1:O1"), Range("A1:O1").End(xlDown)).Rows.Count
    
    al termine l'excel rimane aperto all'interno del Task manager, e l'unico sistema quello di "killarlo" oppure chiudere il VB che lo ha lanciato.

    Qualcuno ha soluzioni?
    Grazie a tutti.
    Ultima modifica di eaglesl; 25-06-2021 11:56 

  2. #2
    Leggi il regolamento e posta il codice tra tag code altrimenti non si capisce poco...

    Comunque l'oggetto Range deve derivare dall'oggetto foglioExcel
    ℹ️ Leggi di pi su AntonioG ...

  3. #3
    eaglesl non  in linea Novello
    Hai ragione, avevo sbagliato ad usare tag.
    Modificato ora!

  4. #4
    Ok ora segui il consiglio e facci sapere
    ℹ️ Leggi di pi su AntonioG ...

  5. #5
    eaglesl non  in linea Novello
    Ho corretto cos ma rimane lo stesso problema:

    RR = foglioExcel.Range("A1:O1").Range(Range("A1:O1"), foglioExcel.Range("A1:O1").End(xlDown)).Rows.Count
    
    Nel forum se ne era gi parlato in passato ma senza soluzione:

    https://masterdrive.it/visual-basic-...-chiude-73089/

  6. #6
    Ma tu hai provato?
    ℹ️ Leggi di pi su AntonioG ...

  7. #7
    eaglesl non  in linea Novello
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Ma tu hai provato?
    Provato cosa? Ho modificato la riga di codice come scritto sopra ma rimane il problema.

  8. #8
    Come hai modificato il codice? Mostralo
    ℹ️ Leggi di pi su AntonioG ...

  9. #9
    eaglesl non  in linea Novello
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Come hai modificato il codice? Mostralo

    Set appExcel = CreateObject("Excel.Application")
    Set cartExcel = appExcel.Workbooks.Open("file.xlsx")
    Set foglioExcel = cartExcel.Worksheets(1)
     
    appExcel.Visible = True
    
    RR = foglioExcel.Range("A1:O1").Range(Range("A1:O1"), foglioExcel.Range("A1:O1").End(xlDown)).Rows.Count
    
    Set oRange = Nothing
    Set foglioExcel = Nothing
         
    cartExcel.Close
    Set cartExcel = Nothing
     
    appExcel.Quit
    Set appExcel = Nothing
    

  10. #10
    Semplifica quella riga con tutti quegli oggetti range. Quello interno non ha la dipendenza come ti ho suggerito
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. La form si chiude veramente?
    Da Fedeciprova nel forum Visual Basic .Net
    Risposte: 6
    Ultimo Post: 13-05-2016, 08:32
  2. Risolto: Applicazione che non si chiude...
    Da Hollywood nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 19-11-2013, 13:47
  3. Risolto: Excel che non si chiude
    Da Hollywood nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 09-02-2013, 12:59
  4. win 98 non si chiude
    Da orso bruno nel forum Microsoft Windows
    Risposte: 2
    Ultimo Post: 21-01-2006, 15:28
  5. Il browser si chiude da solo! HELP!
    Da lapis nel forum Microsoft Windows
    Risposte: 3
    Ultimo Post: 01-03-2005, 20:01