Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Disabilitare tasto di chiusura "X"

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 18/08/11 22:37

Ciao Anthony,
purtroppo non funziona, nonostante abbia associato la macro al pulsante,
è come se il pulsante fosse senza associare una macro, non avviene niente.
Grazie per la risposta anche se non ha ancora risolto il problema.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Sponsor
 

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 18/08/11 22:48

Tra l'altro come già indicato, anche dal menu-file-chiudi,
non si riesce ad uscire, solo salvando il file esce dal programma.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Disabilitare tasto di chiusura "X"

Postdi Anthony47 » 18/08/11 23:06

Devi eliminare tutto l' ambaradan che hai menzionato nel messaggio precedente.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13895
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 19/08/11 07:35

Quindi si può solo salvare per uscire, intendi dire questo?
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 19/08/11 19:00

Non c'è la possibilità di chiudere senza salvare il file?
Grazie a chiunque possa darmi un aiuto.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Disabilitare tasto di chiusura "X"

Postdi Flash30005 » 19/08/11 19:20

Tempo fa ho risolto con un semplice codice di questo tipo (inserito su workbook)
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Close SaveChanges:=False
End Sub


ma sembra troppo semplice qjesta soluzione per te

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 19/08/11 20:52

Ciao Flash,
purtroppo non funziona, la difficoltà è che bloccando il tasto X in alto a destra,
non consente di chiudere il file senza salvarlo, speravo che la vostra esperienza
riuscisse a superare questa difficoltà. Come detto in precedenza, neppure dal menu
file chiudi mi consente di chiudere.
Pensiero mio:
forse ci vuole qualche codice che prima sblocca il bnlexit per poi eseguire il close.
Se può servire potrei postare il file, ma è composto solo dal codice già scritto in
precedenza.
Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Disabilitare tasto di chiusura "X"

Postdi Flash30005 » 19/08/11 21:51

Non capisco...
vorresti inibire il tasto X
e poi vorresti chiudere senza salvare
In quale maniera?

Se non inibisci il tasto X
e usi il codice postato
ottieni la chiusura del file senza salvare

Invia il file
e vediamo cosa fare

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 19/08/11 22:17

Ciao Flash,
questo è il link del file, spero possa far capire la mia difficoltà.
http://www.megaupload.com/?d=DJNCFS3H
Chiarisco ulteriormente la difficoltà:
Facendo delle modifiche ai dati, può anche essere che l'utilizzatore
non voglia modificare il file e quindi decida di uscire senza salvare
le modifiche. Questo è quanto che vorrei che facesse il tasto Chiudi.
Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Disabilitare tasto di chiusura "X"

Postdi Flash30005 » 20/08/11 01:22

Mah!
Ho scaricato il file e ho trovato questo codice in Workbook_BeforeClose
Codice: Seleziona tutto
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       ' Cancel = Not blnexit
       'Worksheets("Foglio1").Select
        'If blnexit Then Application.OnKey "{ESC}"
        ThisWorkbook.Close SaveChanges:=False
    End Sub


Innanzitutto è inutile mettere, allla chiusura della cartella, di selezionare il foglio1 se poi non salvi il file
visto che c'è una close savechanges = false
eventualmente la selezione del foglio1 la farai all'apertura del file.

Poi, commenta anche le righe che vedi commentate qui
cliccando sulla X si chiude il foglio senza salvare e senza messaggi (che credo sia quello che chiedevi, o sbaglio?)
Ricorda, comunque che questa situazione è molto rischiosa.

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 20/08/11 08:26

Buongiorno Flash,
grazie per le spiegazioni, quello che chiedevo non era di chiudere con la X,
ma di avere un tasto CHIUDI, che prima riuscisse a ripristinare il tutto per
permettere poi l'uscita senza salvare e senza lasciare problemi all'utente.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Disabilitare tasto di chiusura "X"

Postdi Flash30005 » 20/08/11 08:30

Ok!
Allora nel modulo4, dove hai queste macro, modifica così:
Codice: Seleziona tutto
Public CS As Integer
Sub SalvaChiudi()
ActiveWorkbook.Save
ActiveWindow.Close
Application.Quit
End Sub

Sub Chiudi()
CS = 1
Application.Quit      '<<<<<<<<<<<<<<<<<<<< La chiusura di excel va inserita sopra alla chiusura del foglio altyrimenti rimane l'applicazione attiva
ThisWorkbook.Close SaveChanges:=False
End Sub


In ThisWorkbook modifica questo codice:
Codice: Seleziona tutto
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If CS = 0 Then
        Cancel = Not blnexit
       'Worksheets("Foglio1").Select   '<<<<<<<<<<<< riga Inutile
        If blnexit Then Application.OnKey "{ESC}"
    End If
        'ThisWorkbook.Close SaveChanges:=False '<<<<<<< non necessaria
    End Sub


EDIT: 9:52
Quindi in ThisWorkbook puoi riassumere così:
Codice: Seleziona tutto
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        If CS = 0 Then Cancel = Not blnexit
        If blnexit Then Application.OnKey "{ESC}"
   End Sub



Dovresti aver risolto altrimenti posta ancora

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 20/08/11 09:34

Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Disabilitare tasto di chiusura "X"

Postdi Flash30005 » 20/08/11 14:59

Presumo quindi che il codice soddisfi la tua esigenza
se non è coì posta ancora

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Disabilitare tasto di chiusura "X"

Postdi Francesco53 » 20/08/11 18:05

SI Flash, ho risolto il tutto, ho anche inserito nuovamente
Codice: Seleziona tutto
        Private Sub Workbook_BeforeClose(Cancel As Boolean)
            If CS = 0 Then Cancel = Not blnexit
            Worksheets("Foglio1").Select           '<<<<<Questa riga serve se si è in altro foglio, se si pressa X riporta al 1foglio per uscire
            If blnexit Then Application.OnKey "{ESC}"
       End Sub


Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Disabilitare tasto di chiusura "X"

Postdi Flash30005 » 20/08/11 18:56

Ottimo! ;)
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Disabilitare tasto di chiusura "X"

Postdi marte1503 » 28/01/12 20:44

Ciao a tutti,

ho bloccato il pulsantino di chiusura X, ora per chiudere il programma devo premere il pulsante creato da me al quale ho abbinato questa macro sistemata all’interno di un modulo:

Codice: Seleziona tutto
Sub SalvaChiudi()

ActiveWorkbook.Save
ActiveWindow.Close
Application.Quit

End Sub


Vorrei fare una piccola variazione rispetto alla richiesta di francesco53 (che intendeva chiudere il suo programma senza salvare le modifiche effettuate premendo un pulsante creato da lui).

Mi chiedevo se fosse possibile modificare le istruzioni per la chiusura in modo che premendo il pulsante creato da me(denominato chiudi il programma) apparisse la classica finestra di chiusura di excel che domanda se salvare le modifiche effettuate oppure no.

In ThisWorkBook ho inserito questo codice:

Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "{ESC}"
    If blnexit Then Application.OnKey "{ESC}"
    Cancel = Not blnexit
    Worksheets("Foglio2").Select
End Sub


e

Codice: Seleziona tutto
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    ActiveWorkbook.Save
    Application.Quit
    bln = False
    If blnexit Then Application.OnKey "{ESC}"
    If Workbooks.Count = 1 Then
    Else
        ThisWorkbook.Close
        Application.EnableEvents = True
    End If
End Sub


Grazie per l'aiuto
Marte
marte1503
Utente Senior
 
Post: 174
Iscritto il: 08/01/10 20:43
Località: Como

Re: Disabilitare tasto di chiusura "X"

Postdi Flash30005 » 28/01/12 22:54

Modifica il codice nel modulo in questa maniera
Codice: Seleziona tutto
Public Chiudi As Integer
Sub SalvaChiudi()
Chiudi = 1
'ActiveWorkbook.Save
ActiveWindow.Close
'Application.Quit

End Sub


E il codice del workbook_close così
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Chiudi = 0 Then
    Application.OnKey "{ESC}"
    If blnexit Then Application.OnKey "{ESC}"
    Cancel = Not blnexit
    Worksheets("Foglio2").Select
End If
End Sub

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Disabilitare tasto di chiusura "X"

Postdi marte1503 » 28/01/12 23:42

Ciao Flash,
grazie per la risposta!

Il tuo codice funziona ma c’è un problema…

In qualunque foglio mi trovi se premo la X torno sempre su foglio2 (dove ho inserito il pulsante “chiudi il programma”) e questo va benissimo. Il problema si crea se premo il mio pulsante chiudi; si apre correttamente la finestra per la scelta “salvare le modifiche” come avevo richiesto, ma poi se clicco su annulla, il pulsantino X riprende a funzionare normalmente in tutti i fogli, proprio come se non fosse stato disabilitato, proponendomi anch’esso la scelta “salvare le modifiche” e non portandomi più in foglio2
In pratica la tua modifica funziona come chiedevo ma solo se non premo il pulsante annulla nella finestra salva modifiche.

Cosa devo modificare?
Grazie
marte1503
Utente Senior
 
Post: 174
Iscritto il: 08/01/10 20:43
Località: Como

Re: Disabilitare tasto di chiusura "X"

Postdi Flash30005 » 29/01/12 00:34

Va bene dai non riesci a modificare aggiungendo una riga per ripristinare il valore 0 (zero) alla variabile Chiudi?

Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Chiudi = 0 Then
    Application.OnKey "{ESC}"
    If blnexit Then Application.OnKey "{ESC}"
    Cancel = Not blnexit
    Worksheets("Foglio2").Select
End If
Chiudi = 0  ' <<<<< aggiungere qui
End Sub


Ciao

P.s. Penso che un po' di impegno ce lo dovete mettere anche voi eh!?
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Disabilitare tasto di chiusura "X"":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti