[Risolto] Resettare il pulsante "Annulla Modifica"

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Avatar utente
Biagio91
Messaggi: 232
Iscritto il: mercoledì 3 febbraio 2021, 20:25

[Risolto] Resettare il pulsante "Annulla Modifica"

Messaggio da Biagio91 »

Ho un file dove tramite una Dialog inserisco un dato1 in una cella, dopodiché tramite una serie di input box vengono scritti altri dati sulla stessa riga del dato1.
A fine inserimento, si attiva la protezione del foglio.


Ho notato però che se viene premuto Ctrl + Z, oppure il pulsante "AnnullaModifica", tornando alla precedente condizione viene disabilitata la protezione del foglio e quindi viene permesso di modificare i campi e i dati appena inseriti.

Come risovere??

Premetto che sono molto nabbo e per ora l'unica cosa che mi è venuta in mente è quella nel titolo, ovvero... in conclusione dell'inserimento, abilitare protezione foglio, resettare a un nuovo "punto di inizio" il pulsante AnnullaOperazione.

Che dite? Se ci fosse la necessità di farlo esisterebbe un metodo per poterlo fare? Ho cercato un po' in rete ma nada..

Grazie mille
Ciao
Ultima modifica di Biagio91 il mercoledì 5 maggio 2021, 23:18, modificato 1 volta in totale.
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
Avatar utente
Biagio91
Messaggi: 232
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: Resettare il pulsante "Annulla Modifica"

Messaggio da Biagio91 »

Ho fatto qualche altra ricerca e per ottenere questo risultato tramite VBA sembra si utilizzi il codice

Application.EnableEvents = False
..istruzioni varie..
Application.EnableEvents = True

Mentre in Libre Office sembra che non serva perché lo fa già in automatico a quanto dicono in questo thread, io non l'ho testato ma loro sembra di si.
https://forum-test.openoffice.org/en/fo ... 0&t=102531

Ma non trovo proprio come fare la stessa cosa per OpenOffice.

Quindi...sono ancora bloccato.

Per caso qualcuno ha novità?

Grazie mille
Ciao
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Resettare il pulsante "Annulla Modifica"

Messaggio da patel »

A me sembra che funzioni inserire prima di end sub la riga
Thiscomponent.lockcontrollers
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
Biagio91
Messaggi: 232
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: Resettare il pulsante "Annulla Modifica"

Messaggio da Biagio91 »

Ciao Patel,
grazie mille per il suggerimento;

Può essere possibile che però non sia proprio la sua in questo caso?
Ho letto a la descrizione del codice che dici tu, ed ho provato ad utilizzarlo, purtroppo però mi causa poi dei problemi in quanto i dati successivi che inserisco non vengono visualizzati.
La modifica non viene annullata a display, ma il pulsante è comunque premibile.

Sei proprio sicuro che devo continuare in questo senso?

Preferisci che allego un file di esempio??

Può essere che mi sono spiegato male....l'intento è questo:
Inputbox, dato da inserire in cella A1.
-> impossibile tornare indietro col pulsante Annulla Modifica


Grazie mille
Ciao
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Resettare il pulsante "Annulla Modifica"

Messaggio da patel »

Non credo sia la via giusta, ma non so come disattivare il pulsante
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Resettare il pulsante "Annulla Modifica"

Messaggio da Gaetanopr »

Biagio91 ha scritto: Può essere che mi sono spiegato male....l'intento è questo:
Inputbox, dato da inserire in cella A1.
-> impossibile tornare indietro col pulsante Annulla Modifica

Codice: Seleziona tutto

codice per inserire dati in A1
Eventuale protezione foglio 
ThisComponent.isUndoEnabled = False   ' Con questo disabiliti il comando annulla
End Sub

Codice: Seleziona tutto

ThisComponent.isUndoEnabled = True
lo riabiliti quando ti serve

Saluti
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Resettare il pulsante "Annulla Modifica"

Messaggio da patel »

Ciao gaetano, funziona ! dove l'hai trovato questo comando ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Resettare il pulsante "Annulla Modifica"

Messaggio da Gaetanopr »

Ciao, ho cercato "Undo" tra le proprietà dell' oggetto ThisComponent.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
Biagio91
Messaggi: 232
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: Resettare il pulsante "Annulla Modifica"

Messaggio da Biagio91 »

Perfetto!!!!! Proprio quello che mi serviva!!!!!! Grazie mille!!!!
Gaetanopr ha scritto:Ciao, ho cercato "Undo" tra le proprietà dell' oggetto ThisComponent.
A sapere dove guardare :facepalm: :oops:

Ho fatto un piccolo test e aggiungendo a fine sub
ThisComponent.isUndoEnabled = False
ThisComponent.isUndoEnabled = True

Lo si riabilita subito dopo averlo disabilitato e ciò sembra tradursi in un reset delle azioni annullabili, in pratica anche se successivamente si fanno modifiche e si vogliono annullare si può farlo ma non si riesce a tornare più indietro del punto in cui lo si aveva resettato!!! :super:


P.S. nei thread che avevo letto per cercare una soluzione, si parlava di utilizzare questo codice in merito all'evitare cicli rindondanti infiniti; quindi dicevano spesso di utilizzare la prima parte all'inizio del sub, e la parte dove si ripristina la condizione di partenza a fine sub. Che significa tutto ciò? Possibile che sia lo stesso caso questo?

Grazie mille
Ciao
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: [Risolto] Resettare il pulsante "Annulla Modifica"

Messaggio da Gaetanopr »

Il tuo caso è diverso, tu non hai cicli ridondanti infiniti, almeno credo, non avendo file di esempio ne tuoi ne quelli dei thread a cui fai riferimento non posso aggiungere altro.
L'importante aver trovato una soluzione alla tua problematica.

Saluti
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
Biagio91
Messaggi: 232
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: [Risolto] Resettare il pulsante "Annulla Modifica"

Messaggio da Biagio91 »

Esatto, dopo vari test ho notato un comportamento strano in ogni caso mi sembra giusto riportarlo;

Appena riesco aggiungo un file esempio che mostri questa cosa bizzarra...ma in pratica....quello che succede nel file è questo:

Sub Prova
InputInserimentoDati
ProtezioneFoglio
MsgBoxRiscontroProtezione
ResetAnnulla
End Sub

Il pulsante annulla rimane attivato anche se cliccandoci non esegue nulla.

Presumo ci sia un errorino nel mio codice controllo bene e se lo noto allora elimino questo messaggio. In caso contrario metto il file esempio così come descritto.

Grazie ancora mille.
Ciao
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
Rispondi