Salva e Chiudi dopo tempo di inattività
Salva e Chiudi dopo tempo di inattività
Ciao a tutti!!
Sto lavorando ad un semplice foglio di calcolo per il report di alcuni articoli del negozio dove lavoro.. fin qui nulla di complicato. La mia difficoltà sorge dal fatto che ogni dipendente ha un account con sessioni a tempo, percui se percaso qualcuno lasciasse aperto il mio foglio di lavoro con la sua sessione, e questa scade, impedirebbe la modifica agli altri se non aprendo un nuovo file (è successo ed è stato un dramma visto che c'erano delle macro ed i miei colleghi hanno pensato bene di cambiare formato con il salvataggio.. )
Per evitare ciò ho pensato di inserire qualche macro a tempo cercandole un pò sulla rete, ma funzionano tutte perfettamente per MS office ma nessuna su openoffice
un esempio di quelle provate è questa, che dopo 20 min di inattività sulle celle, mi salva e chiude microsoft office:
Private Sub Worksheet_Change(ByVal Target As Range)
CloseMe = False
End Sub
Nel pannello Gestione progetti apri ThisWorkbook e incollaci
Private Sub Workbook_Open()
CloseMe = False
StartTimer
End Sub
Menu Inserisci>Modulo e incollaci
Public CloseMe As Boolean
Sub StartTimer()
Application.OnTime Now + TimeValue("00:20:00"), "chiudi"
'modificare il tempo di inattività
End Sub
Sub chiudi()
If CloseMe = True Then
ThisWorkbook.Save
Application.Quit
Else
CloseMe = True
StartTimer
End If
End Sub
Qualcuno di voi ha qualche idea/correzione?
Sto lavorando ad un semplice foglio di calcolo per il report di alcuni articoli del negozio dove lavoro.. fin qui nulla di complicato. La mia difficoltà sorge dal fatto che ogni dipendente ha un account con sessioni a tempo, percui se percaso qualcuno lasciasse aperto il mio foglio di lavoro con la sua sessione, e questa scade, impedirebbe la modifica agli altri se non aprendo un nuovo file (è successo ed è stato un dramma visto che c'erano delle macro ed i miei colleghi hanno pensato bene di cambiare formato con il salvataggio.. )
Per evitare ciò ho pensato di inserire qualche macro a tempo cercandole un pò sulla rete, ma funzionano tutte perfettamente per MS office ma nessuna su openoffice
un esempio di quelle provate è questa, che dopo 20 min di inattività sulle celle, mi salva e chiude microsoft office:
Private Sub Worksheet_Change(ByVal Target As Range)
CloseMe = False
End Sub
Nel pannello Gestione progetti apri ThisWorkbook e incollaci
Private Sub Workbook_Open()
CloseMe = False
StartTimer
End Sub
Menu Inserisci>Modulo e incollaci
Public CloseMe As Boolean
Sub StartTimer()
Application.OnTime Now + TimeValue("00:20:00"), "chiudi"
'modificare il tempo di inattività
End Sub
Sub chiudi()
If CloseMe = True Then
ThisWorkbook.Save
Application.Quit
Else
CloseMe = True
StartTimer
End If
End Sub
Qualcuno di voi ha qualche idea/correzione?
OpenOffice 4.1 su Windows XP
-
- Volontario
- Messaggi: 380
- Iscritto il: martedì 22 ottobre 2013, 1:35
Re: Salva e Chiudi dopo tempo di inattività
Ciao, mi dispiace,penso che OpenOffice non ha un oggetto timer,ha soltanto una funzione timer.Si può creare una specie de ciclo con wait,che vera 'rallentato' per una ventina di minute...pero per quel periodo li resti senza possibilità di eseguire un'altra macro,non si può eseguire un'altra routine ,mentre questa è attiva...Sto cercando anche io una soluzione,se la trovo ,ti faccio sapere.
Ciao
P.S.ma se mettiamo alla crocetta rosa della finestra un comando che salva il documento,nel suo percorso e nel suo formato originale???L'utente ,quando va a chiudere il documento deve solo schiacciare la crocetta...il documento verrà salvato senza alcuna domanda,automaticamente. Puoi guarda che ci sono le impostazioni di backup,che permettono di scegliere una cartella per casi eccezionale,e anche la frequenza con cui si deve fare la copia.
Ciao
P.S.ma se mettiamo alla crocetta rosa della finestra un comando che salva il documento,nel suo percorso e nel suo formato originale???L'utente ,quando va a chiudere il documento deve solo schiacciare la crocetta...il documento verrà salvato senza alcuna domanda,automaticamente. Puoi guarda che ci sono le impostazioni di backup,che permettono di scegliere una cartella per casi eccezionale,e anche la frequenza con cui si deve fare la copia.
LibreOffice ultima versione su Windows 10
Re: Salva e Chiudi dopo tempo di inattività
magari.. le sto pensando tutte.. la cosa più geniale mi sia venuta in mente è di riporre un foglio cartaceo sotto al monitor con scritto "ricorda di chiudere i file prima di allontanarti dal pc" Comunque grazie!!
OpenOffice 4.1 su Windows XP
Re: Salva e Chiudi dopo tempo di inattività
prova il file allegato, il tempo di inattività è 60 sec. Per inattività si intende nessuna modifica alle celle, non sono intercettati mouse e tastiera.
- Allegati
-
- EventoTimerSalva.ods
- (10.9 KiB) Scaricato 322 volte
-------------------
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
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
Re: Salva e Chiudi dopo tempo di inattività
Ottima macro patel. Ma la macro Timer1 come si avvia?
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Re: Salva e Chiudi dopo tempo di inattività
si avvia con l'evento Contenuto Modificato del Foglio, clic destro sul tab, Eventi Foglio ..... , quindi ogni volta che viene modificata una cella parte il timer, se non ci sono modifiche alla fine del tempo stabilito esce il messaggio, oppure si può chiudere con
Codice: Seleziona tutto
sub chiudi
oDoc = ThisComponent
oDoc.store()
oDoc.close(True)
end sub
-------------------
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
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
Re: Salva e Chiudi dopo tempo di inattività
grazie.. ottima macro riutilizzabile in svariati modi ma ancora non mi aiuta quando i miei colleghi si allontanano dal pc.. idee su programmi esterni?
OpenOffice 4.1 su Windows XP
Re: Salva e Chiudi dopo tempo di inattività
se usi la sub chiudi invece che il msgbox la macro ti aiuta quando i colleghi si allontanano dal pc
-------------------
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
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
Re: Salva e Chiudi dopo tempo di inattività
Sai anche come avviare la macro all'apertura del documento senza premere il pulsante "avvia"? ho provato la modifica della macro e se si risolvesse l'avvio sarebbe semplicemente perfetta!!!
OpenOffice 4.1 su Windows XP
Re: Salva e Chiudi dopo tempo di inattività
Strumenti, personalizza,Eventi, Avvio applicazione, Macro, scegli la macro
-------------------
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
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
Re: Salva e Chiudi dopo tempo di inattività
ho provato ma nulla.. fino a che non do manualmente un comando esegui il timer non parte
OpenOffice 4.1 su Windows XP
Re: Salva e Chiudi dopo tempo di inattività
..o meglio con la seguente macro
"global inizio as long
sub avvia
dim T1 as long, T2 as long
inizio = timer
secondi = 20
while T2 < inizio + secondi
T2 = timer
Wait 100
wend
oDoc = ThisComponent
oDoc.store()
oDoc.close(True)
End Sub
Sub Timer1(Target)
dim T as long
if inizio = 0 then exit sub
If NOT Target.supportsService("com.sun.star.sheet.SheetCell") then exit sub
inizio = timer
End Sub"
il timer parte però office non si chiude finchè con clicco (anche a vuoto) su un'area qualsiasi della finestra
"global inizio as long
sub avvia
dim T1 as long, T2 as long
inizio = timer
secondi = 20
while T2 < inizio + secondi
T2 = timer
Wait 100
wend
oDoc = ThisComponent
oDoc.store()
oDoc.close(True)
End Sub
Sub Timer1(Target)
dim T as long
if inizio = 0 then exit sub
If NOT Target.supportsService("com.sun.star.sheet.SheetCell") then exit sub
inizio = timer
End Sub"
il timer parte però office non si chiude finchè con clicco (anche a vuoto) su un'area qualsiasi della finestra
OpenOffice 4.1 su Windows XP
-
- Volontario
- Messaggi: 380
- Iscritto il: martedì 22 ottobre 2013, 1:35
Re: Salva e Chiudi dopo tempo di inattività
Ciao,vedi se ti va bene.
I secondi di attesa sono 10.
I secondi di attesa sono 10.
- Allegati
-
- Timer_test.ods
- (9.39 KiB) Scaricato 187 volte
LibreOffice ultima versione su Windows 10
Re: Salva e Chiudi dopo tempo di inattività
vlad, la tua macro funziona, ma se fai modifiche chiude il documento senza salvare e quindi alla successiva apertura occorre ripristinare, secondo me occorre aggiungere uno store prima del close
Lo store è inserito nel loop, se il documento è grosso rallenta, ma se il tempo di attesa è abbastanza lungo non si nota, anzi si aggiunge il vantaggio del salvataggio automatico.
Codice: Seleziona tutto
Sub FintoTimer
do
ThisComponent.Store()
Wait 10000 'sostituire la prima cifra
IF not ThisComponent.IsModified THEN exit do
loop
ThisComponent.Store()
ThisComponent.Close(True)
End Sub
-------------------
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
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
-
- Volontario
- Messaggi: 380
- Iscritto il: martedì 22 ottobre 2013, 1:35
Re: Salva e Chiudi dopo tempo di inattività
Ciao patel,ho provato tante loop la notte scorsa...crash in continuazione,compreso il tuo esempio,poi ho anche un altro problema:
una volta che entra in azione l'istruzione Wait,non è possibile chiudere il documento(la crocetta rossa non risponde),devo aspettare
per forza che finisca il tempo.
una volta che entra in azione l'istruzione Wait,non è possibile chiudere il documento(la crocetta rossa non risponde),devo aspettare
per forza che finisca il tempo.
LibreOffice ultima versione su Windows 10
Re: Salva e Chiudi dopo tempo di inattività
mi intrometto di nuovo, ma non ho seguito tutta la discussione con attenzione. La crocetta rossa di cui parli è il pulsante sulla barra per interrompere le macro? A me spesso non è abilitato e quando facevo loop infiniti per sbaglio, odiavo questa cosa.vladboscaneanu ha scritto: una volta che entra in azione l'istruzione Wait,non è possibile chiudere il documento
Per fortuna (dato che non ho smesso di sbagliare) esiste la combinazione di tasti "ctrl"+"maiusc"+"q" per interrompere le macro, che uso con successo.
Se non parlavi della x rossa a cui ho pensato io, scusa l'intervento fuori luogo
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
-
- Volontario
- Messaggi: 380
- Iscritto il: martedì 22 ottobre 2013, 1:35
Re: Salva e Chiudi dopo tempo di inattività
Ciao,caro.Intendevo la crocetta rossa della finestra-windows,per chiudere il documento.Visto che l'esempio verrà usato da tanti utenti,non trovo normale
la cosa.
Ciao
la cosa.
Ciao
LibreOffice ultima versione su Windows 10
Re: Salva e Chiudi dopo tempo di inattività
Cosa c'è che non va nel primo codice che ho proposto ?
-------------------
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
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