Caro Norman, ho preso in prestito il listato che hai mandato a Massimo, in relazione su come inibire il salvataggio automatico.
Il listato che tu hai scritto , a me è servito solo la parte inerente "Private Sub Workbook_BeforeClose(Cancel As Boolean),
in quanto il mio problema è leggermente diverso, e cioè:
voglio evitare che chiudano il file.xlsm dalla barra del menù di Windows, dove si posizionano tutti i programmi che si aprono, per questo ho scritto questa routine in Workbook_BeforeClose(Cancel As Boolean) :
____________________________________________________
Qeston = MsgBox(Chr$(13) & "Si Vuole Salvare Prima di Uscire?" & Chr$(13) _
, 4132, "Uscita Forzata Utente")
If Qeston = 7 Then '==Non Salva ed Esce==
Dim Nme As Name
EvitaChiusuraForzata = 1
On Error Resume Next
Set Nme = Me.Names("SaveMeNot")
On Error GoTo 0
If Not Nme Is Nothing Then
Me.Saved = True
Exit Sub
End If
Else
Dim Nme2 As Name '==Salva ed Esce==
On Error Resume Next
EvitaChiusuraForzata = 1
Set Nme2 = Me.Names("ArkNostro3")
On Error GoTo 0
Me.Saved = True
Me.Save
Me.Close
End If
__________________________________________________
Tutto funziona alla grande! L'utente è sempre fra le Form del progetto e non ha possibilità di andare sulle tabelle dei worksheets della cartella "ArkNostro3.xlsm", quindi evito che combini guai!
Ma se l'utente tenta di chiuderlo in maniera anomala dalla barra di Windows, gli compare MSGBOX sopra descritto in "Workbook_BeforeClose(Cancel As Boolean)"
.
Interrompendo il codice con Ctrl/Pause, compare il messaggio di Visual Basic:
con due pulsanti: Contiua o Fine,
se l'utente clikka su Fine, compare quel maledetto messaggio di excel con tre pulsanti:
Salva - Non Salvare - Annulla.
Basti che l'utente clika su Annulla per ritrovarsi sulle tabelle e quindi ripeto combinare guai!
Insomma caro Norman, come fare per evitare di interrompere il codice (inibire anche questo), tenendo sempre il tuo listato nella sub Workbook_BeforeClose(Cancel As Boolean) ?
Spero di essere stato chiaro
Grazie sempre per quello che fai per noi.
Un abbraccio
Carlo Raffaele