chiudere più cartelle



  • chiudere più cartelle
    di Tullio (utente non iscritto) data: 05/03/2013 17:33:26

    Ciao a tutti, Vi seguo da un pò e sto cercando di fare qualcosa di carino con Excel e i Vostri consigli mi sono preziosi.
    Il punto è questo, da una cartella con la sub Auto_open, apro altre due cartelle nelle quali vado a pescare i dati che mi servono sulla cartella1, funziona tutto egregiamente meno che la chiusura. Non riesco a far chiudere le cartelle2 e 3 quando chiudo la cartella1.
    Vi ringrazio di un aiuto.
    Tullio



  • di Vecchio Frac data: 05/03/2013 18:10:22

    Mostra il codice utilizzato, magari allega dei file di esempio in un file zip così ricostruiamo lo scenario.
    Forse si può solo collegare i dati di cartella 2 e 3 alla cartella 1 senza bisogno di (auto)aprirle espressamente, e quindi di doverle chiudere.





  • di Tullio (utente non iscritto) data: 05/03/2013 18:20:51

    All'apertura della cartella1 (Sub Auto_Open()), poi la chiusura che ho inserito, ma non funziona

     
    Sub Auto_Open()
    Dim objExcel
       
        Set objExcel = CreateObject("Excel.Application")
        objExcel.Workbooks.Open ("\EASYSTOREpublicCartella2.xls")
        objExcel.Workbooks.Open ("\EASYSTOREpublicCartella3.xls")
       
        objExcel.Visible = True
       
    Set objExcel = Nothing
    End Sub
    
    Sub Workbook_Close(Cancel As Boolean)
    
        Workbooks("Cartella3.xls").Close False
        Workbooks("Cartella2.xls").Close False
    End Sub
    
    



  • di Vecchio Frac data: 05/03/2013 20:28:04

    Che motivo c'è di usare Auto_Open, retaggio del passato, rispetto a Workbook_Open()?
    Inoltre: objExcel non serve, l'istanza di Excel è già in memoria, se accedi a Excel da Excel stesso.





  • di Tullio (utente non iscritto) data: 06/03/2013 09:30:42

    Grazie mille Vecchio Frac, ho eliminato l'object,sostituito l'istanza, poi ho sostituito la Sub Close con Before_close e funziona.
    Sono un principiante che si avvicina per la prima volta alla programmazione in vb.
    Grazie di nuovo.