può succedere di trovarmi in queste condizioni:
Sembra che in alcuni momenti e non per tutti gli impianti il file non trovando libero il collegamento al server o per altro motivo a me sconosciuto si "auto protegga" creando una copia in automatico.
Purtroppo gli addetti in produzione poi continuano a lavorare su questo file e mi ritrovo a non avere le informazioni aggiornate.
A vostra esperienza c'è un modo che imponga al file che se si " accorge" di aver nel proprio nome un suffisso tra parentesi di provare a salvare sovrascrivendo quello originale ma che è diventato dormiente.
Per capirci:
- T03_DICEMBRE_2017.xlsm diventa dormiente a causa della creazione di T03_DICEMBRE_2017(salvato automaticamente).xlsm
- Excel si accorge dell'accadimento e prova a riportarlo alle origini ( ossia salvarlo, sovrascrivendo e riprendendo ad utilizzare il dormiente).
Basterebbe che questo check fosse fatto anche una sola volta al giorno o integrandola nell'aiuto di Anthony nel mio thread precedente:
Anthony47 ha scritto:Ecco spiegato...
Nel modo adottato non solo si ritrovano solo 3 esecuzioni schedulate, ma se l'operatore non preme Ok ci si ferma alla prima.
Facciamola semplice, almeno ci provo:
1) Crea una nuova Sub Schedula:
- Codice: Seleziona tutto
Sub Schedula()
On Error Resume Next
Application.OnTime TimeValue("06:06"), "Schedula", , False
Application.OnTime TimeValue("14:06"), "Schedula", , False
Application.OnTime TimeValue("22:06"), "Schedula", , False
On Error GoTo 0
Call AggPROD
Application.OnTime TimeValue("06:06"), "Schedula"
Application.OnTime TimeValue("14:06"), "Schedula"
Application.OnTime TimeValue("22:06"), "Schedula"
End Sub
2) Nella Workbook_Open, sostituisci le attuali 3 righe di Application.OnTime TimeValue con
- Codice: Seleziona tutto
On Error Resume Next
Application.OnTime TimeValue("06:06"), "Schedula", , False
Application.OnTime TimeValue("14:06"), "Schedula", , False
Application.OnTime TimeValue("22:06"), "Schedula", , False
On Error GoTo 0
Application.OnTime TimeValue("06:06"), "Schedula"
Application.OnTime TimeValue("14:06"), "Schedula"
Application.OnTime TimeValue("22:06"), "Schedula"
Il codice della Sub AggPROD e della Sub CallAggPROD rimane invariato.
La logica e' che all'apertura si eliminano eventuali schedulazioni rimaste pendenti e si impostano le nuove.
Lo stesso procedimento e' contenuto nella nuova Sub Schedula, che e' la macro eseguita su OnTime: si eliminano le schedulazioni pendenti, si esegue la AggProd, si impostano le prossime schedulazioni.
Incrociando le dita...
Grazie in anticipo per eventuali suggerimenti.