LORETTA B. forum

Linguaggi di programmazione => Problematiche Excel => Topic aperto da: Tullio - Ottobre 05, 2013, 11:48:28

Titolo: Sessione di excel che rimane aperta
Inserito da: Tullio - Ottobre 05, 2013, 11:48:28
Ciao micdas,
approfittando della tua immensa pazienza, eccomi con la nuova domanda.
Ho un progetto in excel che mi apre due file il primo è il progetto vero e proprio, il secondo è una tabella dalla quale vado a pescare i dati per riempire il primo.
Mentre all'apertura non ho alcun problema, alla chiusura mi rimane aperta una sessione di excel vuota.
Come posso ovviare?.
Grazie.
Tullio
Titolo: Re:Sessione di excel che rimane aperta
Inserito da: micdas - Ottobre 05, 2013, 12:47:11
Ciao Tullio
puoi mostrarmi il codice che usi?
Titolo: Re:Sessione di excel che rimane aperta
Inserito da: Tullio - Ottobre 05, 2013, 18:16:07
Ciao Micdas,
ti allego il codice:
la prima sub è in ThisWorkbook, la seconda nel modulo.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If chiude = 0 Then
    Chiude_Rubrica
Else   
Workbooks("BASE PROGETTI CON SCADENZE.xls").Close False
Application.Quit
End If
End Sub

Sub Chiude_Rubrica()
    Workbooks("Rubrica clienti.xls").Activate
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    chiude = 1
   
End Sub
Titolo: Re:Sessione di excel che rimane aperta
Inserito da: micdas - Ottobre 05, 2013, 21:21:07
Ciao,
allora ho fatto così:
ho creato 3 files
uno in cui ho inserito la Sub Workbook_BeforeClose e la funzione personale Chiude_Rubrica()
uno chiamato Rubrica clienti.xls
un altro chiamato BASE PROGETTI CON SCADENZE.xls
ho aperto in sequenza i tre files
Chiudendo il file di partenza, a causa della Sub Workbook_BeforeClose mi viene chiuso il file Rubrica clienti.xls e mi rimane aperto BASE PROGETTI CON SCADENZE.xls

A me non rimane aperta l'applicazione vuota a causa dell'istruzione Workbooks("BASE PROGETTI CON SCADENZE.xls").Close False
Però ho notato che le istruzioni così come sono formulate potrebbero dare dei problemi se uno dei due file non è aperto
Titolo: Re:Sessione di excel che rimane aperta
Inserito da: Tullio - Ottobre 06, 2013, 08:30:06
Ciao micdas,
per dimenticanza non ti avevo inviato questa, che è in Base Progetti, in sostanza, lancio base progetti e mi apre anche Rubrica clienti.
E' probabile che dipenda dal XLSTART ?
Ho un vago ricordo di averlo cancellato agli inizi.

Sub auto_open()
    Workbooks.Open ("C:\Contabilità\MODELLI\Rubrica clienti.xls")

    Windows("BASE PROGETTI CON SCADENZE.XLS").Activate
    ActiveWorkbook.RefreshAll
    chiude = 0
    AnnoContabile = "2013"
   
End Sub
Titolo: Re:Sessione di excel che rimane aperta
Inserito da: Tullio - Ottobre 06, 2013, 09:06:11
Ciao di nuovo,
ho cercato in c:\ e non trovo il file XlStart.
Ho aperto un nuovo progetto "Gestione progetti" con le "sub auto_open" e "chiude rubrica" e nel Thisworkbook ho inserito Before_Close, e salvato.
Poi ho aperto Gestione progetti che apre a sua volta Rubrica clienti, ma alla chiusura mi rimane ancora la sessione vuota.
Come posso fare a ripristinare la sessione XlStart ?
Sto facendo la cosa giusta ?
Il resto funziona alla perfezione.
Tullio
Titolo: Re:Sessione di excel che rimane aperta
Inserito da: micdas - Ottobre 06, 2013, 10:23:40
XlStart non è un file ma una cartella di sistema di Excel, almeno stando a quanto dicono in questo sito: http://www.bettersolutions.com/excel/EHN113/QA748890521.htm (http://www.bettersolutions.com/excel/EHN113/QA748890521.htm)
Personalmente non ho mai avuto a che fare con questa cartella.
Nel mio PC ce l'ho in questa posizione: C:\Program Files\Microsoft Office\OFFICE11\XLSTART
E poi perchè usi "ActiveWorkbook.RefreshAll". Se leggi la guida (selezionare RefreshAll e premere il tasto F1) leggerai:
Citazione
Aggiorna tutti gli intervalli esterni e i rapporti di tabella pivot della cartella di lavoro specificata.

Quindi la vedo inutile.
Titolo: Re:Sessione di excel che rimane aperta
Inserito da: Tullio - Ottobre 08, 2013, 17:04:51
Grazie delle informazioni micdas,
ho risolto con una connessione che mi apre il file rubrica in un foglio della cartella e ora non da nemmeno più l'errore alla chiusura.
E' venuto un buon lavoretto, sono contento.
Ho lasciato ad Excel solo un paio di celle di convalida ed alcune di dati descrittivi, poi calcoli e formule sono tutte sul vb in modo che non sia possibile o meglio che sia più difficile modificarle per errore.
Merito tuo se sono arrivato qui.
Ciao a presto.
Tullio
Titolo: Re:Sessione di excel che rimane aperta
Inserito da: micdas - Ottobre 08, 2013, 20:10:33
congratulazioni Tullio   :Party133:
 :ciao: