Domanda.

da : AndreaB   br.and@inwind.it

Buongiorno Sig. Ennio. Grazie per il consiglio della scorsa volta. Ora gli chiedo un altro consiglio, sempre che possa e voglia darmelo. Il consiglio riguarda la chiusura di una cartella excel chiudendo un'altra. Mi spiego meglio. Quando apro una determinata cartella in automatico me ne apre un'altra dietro che potrebbe servirmi come fonte di alcuni calcoli. Ho usato:

PrivateSub Workbook_Open()
Workbooks.Open FileName:= "Tutta la directory dove si trova il file in questione"
MsgBox ("Il file ...ecc.!")
End Sub


Ora le chiedo se č possibile usare un'istruzione che funzioni al contrario e cioč se quando chiudo il file principale mi si chiude anche il file che prima mi si era aperto in automatico. Sa darmi delle indicazioni?

Come sempre la ringrazio in anticipo e le auguro una buona giornata.

AndreaB
 

Risposta.

salve Andrea, nell'evento BeforeClose del Workbook "padre", da dove apri le altre cartelle, per intenderci, inserisci queste istruzioni che ti mostro per intero, compreso l'evento:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each w In Workbooks
If w.Name <> ThisWorkbook.Name Then
w.Close
'savechanges:=True
End If
Next w
End Sub


Ti ho escluso il salva cambiamenti, se invece ti interessa che vengano salvati, basta che tu tolga l'apice a :
savechanges:=True
con queste istruzioni, quando chiuderai la cartella padre, prima verranno chiuse tutte le altre cartelle.
saluti, ennius