Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Invio dati da foglio excel a pagina web ad ogni modifica

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: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 08/02/21 11:32

Anthony47 ha scritto:
Sai che rileggendo adesso non sono sicuro di aver capito il senso della tua frase.
"Qualcosa non ha funzionato, perché al decimo tentativo mi sembra tutto a posto.."
Era ironia? :P :lol: :lol:
Ti voglio lasciare col dubbio :D :D

Sembra che ora tutto sia completo; ma il collaudo lo puoi fare solo tu sul campo, aspettiamo quindi il Wow! finale

Ciao

Buon giorno!
Sembrerebbe fare il suo dovere.
A questo punto ragionavo, ma visto che con tutto sto popò di roba si va a creare un file nuovo, non si potrebbe mettere una condizione che aiuterebbe a generare un file ancora più leggero, ossia che se la riga non ha testo/contenuto non viene riportata, in questo modo si eviterebbero le righe vuote sottostanti.. che ne pensi Anthony?
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Sponsor
 

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi Anthony47 » 08/02/21 12:17

Il tutto avviene mentre teoricamente l'operatore lavora sul file; non so se l'extra tempo necessario per filtrare le righe rischia di allungare in modo apprezzabile la durata della macro.
E comunque, un file htm con solo 10 righe occuperebbe nelle mie prove circa 85KB, contro i 147KB delle 160 righe, perche' c'e' un codice htm "di fondo" che non puo' essere eliminato; insomma un abbattimento tangibile ma non risolutivo.
Per una prova bisognerebbe avere un esempio verosimile del contenuto del foglio ENTRATE, se puoi pubblicarlo

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 08/02/21 16:14

Anthony47 ha scritto:Il tutto avviene mentre teoricamente l'operatore lavora sul file; non so se l'extra tempo necessario per filtrare le righe rischia di allungare in modo apprezzabile la durata della macro.
E comunque, un file htm con solo 10 righe occuperebbe nelle mie prove circa 85KB, contro i 147KB delle 160 righe, perche' c'e' un codice htm "di fondo" che non puo' essere eliminato; insomma un abbattimento tangibile ma non risolutivo.
Per una prova bisognerebbe avere un esempio verosimile del contenuto del foglio ENTRATE, se puoi pubblicarlo

Ciao


Forse hai ragione.. meglio non complicarsi la vita più di così.
Continuerò a testare per il momento poi si vedrà.
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 10/02/21 17:23

Ciao Anthony, allora è quasi perfetto.. ora noto però che il file viene salvato, a livello locale, molto meno frequentemente di prima.. credo sia perchè abbiamo cambiato questa macro:

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRan As String
'
Application.EnableEvents = False            '++++
Range("AA1").Value = Now                    '++++
myRan = "I2:L162"       '<<< L'area per i cui cambiamenti viene subito fatto un File Save
If Application.Intersect(Target, Range(myRan)) Is Nothing Then GoTo ExA    'MMMM
Debug.Print Now, Target.Address
ThisWorkbook.Save
ExA:                                        '++++
Application.EnableEvents = True             '++++
End Sub


Dici che si può fare qualche cosa in proposito?
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 10/02/21 18:37

Con meno di frequente intendo anche 2 ore..
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi Anthony47 » 10/02/21 19:57

Le modifiche alla Worksheet_Change servono solo per scrivere in AA1 data/ora dell'ultima modifica.

Pubblica il contenuto della finestra Immediata e cercheremo di capire.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 11/02/21 10:51

Anthony47 ha scritto:Le modifiche alla Worksheet_Change servono solo per scrivere in AA1 data/ora dell'ultima modifica.

Pubblica il contenuto della finestra Immediata e cercheremo di capire.

Ciao

Grazie Anthony per la disponibilità, di seguito ti riporto il contenuto della finestra immediata:
Codice: Seleziona tutto
Eseguo MacroOneMin          11/02/2021 08:25:59         11/02/2021 08:27:01
Eseguo MacroOneMin          11/02/2021 08:27:02         11/02/2021 08:28:04
Eseguo MacroOneMin          11/02/2021 08:28:05         11/02/2021 08:29:07
11/02/2021 08:31:01         $K$7
11/02/2021 08:31:05         $L$7
11/02/2021 08:37:01         $K$3
11/02/2021 08:37:04         $L$3
Eseguo Macro15Min           11/02/2021 08:38:56         11/02/2021 08:52:56
Eseguo MacroOneMin          11/02/2021 08:39:58         11/02/2021 08:41:00
Eseguo MacroOneMin          11/02/2021 08:41:00         11/02/2021 08:42:02
Eseguo MacroOneMin          11/02/2021 08:42:02         11/02/2021 08:43:04
Eseguo MacroOneMin          11/02/2021 08:43:04         11/02/2021 08:44:06
Eseguo MacroOneMin          11/02/2021 08:44:06         11/02/2021 08:45:08
Eseguo MacroOneMin          11/02/2021 08:45:08         11/02/2021 08:46:10
Eseguo MacroOneMin          11/02/2021 08:46:10         11/02/2021 08:47:12
Eseguo MacroOneMin          11/02/2021 08:47:12         11/02/2021 08:48:14
Eseguo MacroOneMin          11/02/2021 08:48:14         11/02/2021 08:49:16
11/02/2021 08:48:26         $K$4
11/02/2021 08:48:30         $L$4
Eseguo MacroOneMin          11/02/2021 08:49:16         11/02/2021 08:50:18
Eseguo MacroOneMin          11/02/2021 08:50:18         11/02/2021 08:51:20
Eseguo MacroOneMin          11/02/2021 08:51:20         11/02/2021 08:52:22
Eseguo MacroOneMin          11/02/2021 08:52:27         11/02/2021 08:53:29
11/02/2021 08:52:46         $I$12
Eseguo Macro15Min           11/02/2021 08:52:56         11/02/2021 09:06:56
Eseguo MacroOneMin          11/02/2021 08:53:29         11/02/2021 08:54:31
11/02/2021 08:54:15         $K$9
11/02/2021 08:54:20         $L$9
Eseguo MacroOneMin          11/02/2021 08:54:31         11/02/2021 08:55:33
Eseguo Macro30Min           11/02/2021 08:54:56         11/02/2021 09:24:56
Eseguo MacroOneMin          11/02/2021 08:55:33         11/02/2021 08:56:35
Eseguo MacroOneMin          11/02/2021 08:56:35         11/02/2021 08:57:37
Eseguo MacroOneMin          11/02/2021 08:57:37         11/02/2021 08:58:39
Eseguo MacroOneMin          11/02/2021 08:58:39         11/02/2021 08:59:41
Eseguo MacroOneMin          11/02/2021 08:59:41         11/02/2021 09:00:43
Eseguo MacroOneMin          11/02/2021 09:00:43         11/02/2021 09:01:45
Eseguo MacroOneMin          11/02/2021 09:01:45         11/02/2021 09:02:47
11/02/2021 09:02:33         $I$13
Eseguo MacroOneMin          11/02/2021 09:02:47         11/02/2021 09:03:49
Eseguo MacroOneMin          11/02/2021 09:03:49         11/02/2021 09:04:51
11/02/2021 09:04:39         $I$14
Eseguo MacroOneMin          11/02/2021 09:04:51         11/02/2021 09:05:53
Eseguo MacroOneMin          11/02/2021 09:05:53         11/02/2021 09:06:55
Eseguo MacroOneMin          11/02/2021 09:06:55         11/02/2021 09:07:57
Eseguo Macro15Min           11/02/2021 09:06:56         11/02/2021 09:20:56
Eseguo MacroOneMin          11/02/2021 09:07:57         11/02/2021 09:08:59
Eseguo MacroOneMin          11/02/2021 09:08:59         11/02/2021 09:10:01
Eseguo MacroOneMin          11/02/2021 09:10:01         11/02/2021 09:11:03
Eseguo MacroOneMin          11/02/2021 09:11:03         11/02/2021 09:12:05
11/02/2021 09:11:39         $K$10
11/02/2021 09:11:43         $L$10
11/02/2021 09:11:55         $I$15
Eseguo MacroOneMin          11/02/2021 09:12:05         11/02/2021 09:13:07
11/02/2021 09:12:10         $I$16
11/02/2021 09:12:13         $K$11
Eseguo MacroOneMin          11/02/2021 09:13:07         11/02/2021 09:14:09
Eseguo MacroOneMin          11/02/2021 09:14:09         11/02/2021 09:15:11
Eseguo MacroOneMin          11/02/2021 09:15:11         11/02/2021 09:16:13
Eseguo MacroOneMin          11/02/2021 09:16:13         11/02/2021 09:17:15
Eseguo MacroOneMin          11/02/2021 09:17:15         11/02/2021 09:18:17
Eseguo MacroOneMin          11/02/2021 09:18:17         11/02/2021 09:19:19
Eseguo MacroOneMin          11/02/2021 09:19:19         11/02/2021 09:20:21
Eseguo MacroOneMin          11/02/2021 09:20:21         11/02/2021 09:21:23
Eseguo Macro15Min           11/02/2021 09:20:56         11/02/2021 09:34:56
Eseguo MacroOneMin          11/02/2021 09:21:23         11/02/2021 09:22:25
Eseguo MacroOneMin          11/02/2021 09:22:25         11/02/2021 09:23:27
Eseguo MacroOneMin          11/02/2021 09:23:27         11/02/2021 09:24:29
Eseguo Macro60Min           11/02/2021 09:23:56         11/02/2021 10:22:56
Eseguo MacroOneMin          11/02/2021 09:24:29         11/02/2021 09:25:31
Eseguo Macro30Min           11/02/2021 09:24:56         11/02/2021 09:54:56
Eseguo MacroOneMin          11/02/2021 09:25:31         11/02/2021 09:26:33
Eseguo MacroOneMin          11/02/2021 09:26:33         11/02/2021 09:27:35
Eseguo MacroOneMin          11/02/2021 09:27:35         11/02/2021 09:28:37
Eseguo MacroOneMin          11/02/2021 09:28:37         11/02/2021 09:29:39
Eseguo MacroOneMin          11/02/2021 09:29:39         11/02/2021 09:30:41
Eseguo MacroOneMin          11/02/2021 09:30:41         11/02/2021 09:31:43
Eseguo MacroOneMin          11/02/2021 09:31:43         11/02/2021 09:32:45
Eseguo MacroOneMin          11/02/2021 09:32:45         11/02/2021 09:33:47
Eseguo MacroOneMin          11/02/2021 09:33:47         11/02/2021 09:34:49
Eseguo MacroOneMin          11/02/2021 09:34:49         11/02/2021 09:35:51
Eseguo Macro15Min           11/02/2021 09:34:56         11/02/2021 09:48:56
Eseguo MacroOneMin          11/02/2021 09:35:51         11/02/2021 09:36:53
Eseguo MacroOneMin          11/02/2021 09:36:53         11/02/2021 09:37:55
Eseguo MacroOneMin          11/02/2021 09:37:55         11/02/2021 09:38:57
Eseguo MacroOneMin          11/02/2021 09:38:57         11/02/2021 09:39:59
Eseguo MacroOneMin          11/02/2021 09:39:59         11/02/2021 09:41:01
Eseguo MacroOneMin          11/02/2021 09:41:01         11/02/2021 09:42:03
Eseguo MacroOneMin          11/02/2021 09:42:03         11/02/2021 09:43:05
Eseguo MacroOneMin          11/02/2021 09:43:05         11/02/2021 09:44:07
Eseguo MacroOneMin          11/02/2021 09:44:07         11/02/2021 09:45:09
Eseguo MacroOneMin          11/02/2021 09:45:09         11/02/2021 09:46:11
Eseguo MacroOneMin          11/02/2021 09:46:11         11/02/2021 09:47:13
Eseguo MacroOneMin          11/02/2021 09:47:13         11/02/2021 09:48:15
Eseguo MacroOneMin          11/02/2021 09:48:15         11/02/2021 09:49:17
Eseguo Macro15Min           11/02/2021 09:48:56         11/02/2021 10:02:56
Eseguo MacroOneMin          11/02/2021 09:49:17         11/02/2021 09:50:19
Eseguo MacroOneMin          11/02/2021 09:50:19         11/02/2021 09:51:21
Eseguo MacroOneMin          11/02/2021 09:51:21         11/02/2021 09:52:23
Eseguo MacroOneMin          11/02/2021 09:52:23         11/02/2021 09:53:25
Eseguo MacroOneMin          11/02/2021 09:53:25         11/02/2021 09:54:27
Eseguo Macro60Min           11/02/2021 09:53:56         11/02/2021 10:52:56
Eseguo MacroOneMin          11/02/2021 09:54:27         11/02/2021 09:55:29
Eseguo Macro30Min           11/02/2021 09:54:56         11/02/2021 10:24:56
Eseguo MacroOneMin          11/02/2021 09:55:29         11/02/2021 09:56:31
Eseguo MacroOneMin          11/02/2021 09:56:31         11/02/2021 09:57:33
Eseguo MacroOneMin          11/02/2021 09:57:33         11/02/2021 09:58:35
Eseguo MacroOneMin          11/02/2021 09:58:35         11/02/2021 09:59:37
Eseguo MacroOneMin          11/02/2021 09:59:37         11/02/2021 10:00:39
Eseguo MacroOneMin          11/02/2021 10:00:39         11/02/2021 10:01:41
Eseguo MacroOneMin          11/02/2021 10:01:41         11/02/2021 10:02:43
Eseguo MacroOneMin          11/02/2021 10:02:43         11/02/2021 10:03:45
Eseguo Macro15Min           11/02/2021 10:02:56         11/02/2021 10:16:56
Eseguo MacroOneMin          11/02/2021 10:03:45         11/02/2021 10:04:47
Eseguo MacroOneMin          11/02/2021 10:04:47         11/02/2021 10:05:49
Eseguo MacroOneMin          11/02/2021 10:05:49         11/02/2021 10:06:51
Eseguo MacroOneMin          11/02/2021 10:06:51         11/02/2021 10:07:53
Eseguo MacroOneMin          11/02/2021 10:07:53         11/02/2021 10:08:55
Eseguo MacroOneMin          11/02/2021 10:08:55         11/02/2021 10:09:57
Eseguo MacroOneMin          11/02/2021 10:09:57         11/02/2021 10:10:59
Eseguo MacroOneMin          11/02/2021 10:10:59         11/02/2021 10:12:01
Eseguo MacroOneMin          11/02/2021 10:12:01         11/02/2021 10:13:03
Eseguo MacroOneMin          11/02/2021 10:13:03         11/02/2021 10:14:05
Eseguo MacroOneMin          11/02/2021 10:14:05         11/02/2021 10:15:07
Eseguo MacroOneMin          11/02/2021 10:15:07         11/02/2021 10:16:09
Eseguo MacroOneMin          11/02/2021 10:16:09         11/02/2021 10:17:11
Eseguo Macro15Min           11/02/2021 10:16:56         11/02/2021 10:30:56
Eseguo MacroOneMin          11/02/2021 10:17:11         11/02/2021 10:18:13
Eseguo MacroOneMin          11/02/2021 10:18:13         11/02/2021 10:19:15
Eseguo MacroOneMin          11/02/2021 10:19:15         11/02/2021 10:20:17
Eseguo MacroOneMin          11/02/2021 10:20:17         11/02/2021 10:21:19
Eseguo MacroOneMin          11/02/2021 10:21:19         11/02/2021 10:22:21
Eseguo MacroOneMin          11/02/2021 10:22:21         11/02/2021 10:23:23 Eseguo Macro60Min     11/02/2021 10:22:56         11/02/2021 11:21:56
Eseguo MacroOneMin          11/02/2021 10:23:24         11/02/2021 10:24:26
Eseguo MacroOneMin          11/02/2021 10:24:26         11/02/2021 10:25:28


Al momento lo schema online è aggiornato al minuto, mentre la versione locale non si aggiorna dalle 9:24 ed ora sono le 10:25
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 11/02/21 12:22

systemcrack ha scritto:Ciao Anthony, allora è quasi perfetto.. ora noto però che il file viene salvato, a livello locale, molto meno frequentemente di prima.. credo sia perchè abbiamo cambiato questa macro:

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRan As String
'
Application.EnableEvents = False            '++++
Range("AA1").Value = Now                    '++++
myRan = "I2:L162"       '<<< L'area per i cui cambiamenti viene subito fatto un File Save
If Application.Intersect(Target, Range(myRan)) Is Nothing Then GoTo ExA    'MMMM
Debug.Print Now, Target.Address
ThisWorkbook.Save
ExA:                                        '++++
Application.EnableEvents = True             '++++
End Sub


Dici che si può fare qualche cosa in proposito?


Ora ho provato a cambiare il range da I2:L161 a I2:K161.. vediamo che succede.
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 11/02/21 13:07

Ho notato anche Anthony che a volte il salvataggio in locale si impalla, si apre la finestrella di avanzamento e si ferma lì.. poi si sblocca. Il problema è che quando si impalla l'operatore non vi può lavorare ovviamente. Potrebbe essere che qualcosa crei un conflitto o un sovraccarico?
Oppure potrebbe dipendere dal fatto che il file che viene manipolato non risiede nel pc, ma in una cartella sul server aziendale?
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi Anthony47 » 11/02/21 16:50

Dal log che hai inviato stamattina vedo un blackout sull'esecuzione della MacroOneMinute di 10 minuti circa, dalle 8:29 alle 8:39 circa; ripristinata dalla Macro15Min eseguitasi alle 8:38 circa.
Nel frattempo risultano essere state modificate le celle K7, L7, K3, L3; quindi non escluderei che l'operatore si sia soffermato per lungo tempo in fase di edit di quelle celle, e questo ha la tendenza a far sospendere le macro pianificate; e' per questo che sono state aggiunte le ulteriori Macro15Min, Macro30Min e Macro60Min (le chance che si sospendano tutte e' molto bassa).

Noto anche che la Macro60Min in realta' si esegue ogni 29-30 minuti... Poiche' pero' la loro schedulazione e' corretta allora mi vien da dire che ne esiste una doppia schedulazione... Ti suggerisco pertanto questa variazione:
-cerca sul file 4 celle libere, che siano inizialmente vuote
-assegna a ognuna di queste questi nomi:
>>Next1Min, Next15Min, Next30Min, Next60Min
-vai sul codice e ogni occorrenza di Next1Min cambiala in ThisWorkbook.Sheets("IlNomeDelFoglio").Range("Next1Min").Value
-idem per Next15Min, Next30Min e Next60Min

Esempio
Codice: Seleziona tutto
'QUESTO BLOCCO...
If StopAll = False Then                        ' StopAll??
''    If Next15Min < (Now - TimeSerial(0, 1, 0)) Then
''        Next15Min = Now + TimeSerial(0, 4, 0)                   '15
''        Application.OnTime Next15Min, "Macro15Min"
''    End If
'VA SOSTITUITO CON QUES'TALTRO
    If ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value < (Now - TimeSerial(0, 1, 0)) Then
        ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value = Now + TimeSerial(0, 4, 0)                   '15
        Application.OnTime ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value, "Macro15Min"
    End If
(NB: i 4 intervalli li ho creati sul foglio STATS S.)

Attenzione che questa modifica e' da fare in tutti i posti in cui si usano quelle variabili; quindi sulla WorkbookOpen, sulla BeforeClose, e sulle Sub OneMinuteMacro, Sub Macro15Min etc etc
Questa modifica consentira' una migliore pianificazione e "spianificazione" delle macro.

Quanto agli "impallamenti" indubbiamente la scrittura su un drive di rete non e' la cosa piu' veloce; non ti conviene sharare in rete una directory del tuo pc e scrivere in quella? Non credo che l'FTP ne patisca particolarmente, perche' credo che la maggior parte dei suoi tempi siano di attesa sul server internet.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 12/02/21 19:52

Anthony47 ha scritto:Dal log che hai inviato stamattina vedo un blackout sull'esecuzione della MacroOneMinute di 10 minuti circa, dalle 8:29 alle 8:39 circa; ripristinata dalla Macro15Min eseguitasi alle 8:38 circa.
Nel frattempo risultano essere state modificate le celle K7, L7, K3, L3; quindi non escluderei che l'operatore si sia soffermato per lungo tempo in fase di edit di quelle celle, e questo ha la tendenza a far sospendere le macro pianificate; e' per questo che sono state aggiunte le ulteriori Macro15Min, Macro30Min e Macro60Min (le chance che si sospendano tutte e' molto bassa).

Noto anche che la Macro60Min in realta' si esegue ogni 29-30 minuti... Poiche' pero' la loro schedulazione e' corretta allora mi vien da dire che ne esiste una doppia schedulazione... Ti suggerisco pertanto questa variazione:
-cerca sul file 4 celle libere, che siano inizialmente vuote
-assegna a ognuna di queste questi nomi:
>>Next1Min, Next15Min, Next30Min, Next60Min
-vai sul codice e ogni occorrenza di Next1Min cambiala in ThisWorkbook.Sheets("IlNomeDelFoglio").Range("Next1Min").Value
-idem per Next15Min, Next30Min e Next60Min

Esempio
Codice: Seleziona tutto
'QUESTO BLOCCO...
If StopAll = False Then                        ' StopAll??
''    If Next15Min < (Now - TimeSerial(0, 1, 0)) Then
''        Next15Min = Now + TimeSerial(0, 4, 0)                   '15
''        Application.OnTime Next15Min, "Macro15Min"
''    End If
'VA SOSTITUITO CON QUES'TALTRO
    If ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value < (Now - TimeSerial(0, 1, 0)) Then
        ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value = Now + TimeSerial(0, 4, 0)                   '15
        Application.OnTime ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value, "Macro15Min"
    End If
(NB: i 4 intervalli li ho creati sul foglio STATS S.)

Attenzione che questa modifica e' da fare in tutti i posti in cui si usano quelle variabili; quindi sulla WorkbookOpen, sulla BeforeClose, e sulle Sub OneMinuteMacro, Sub Macro15Min etc etc
Questa modifica consentira' una migliore pianificazione e "spianificazione" delle macro.

Quanto agli "impallamenti" indubbiamente la scrittura su un drive di rete non e' la cosa piu' veloce; non ti conviene sharare in rete una directory del tuo pc e scrivere in quella? Non credo che l'FTP ne patisca particolarmente, perche' credo che la maggior parte dei suoi tempi siano di attesa sul server internet.

Ciao


Si ma il fatto che non salvi più in locale come prima, da cosa potrebbe dipendere? Cioè oggi ho fatto una prova ed ho fatto utilizzare una copia di precedente a tutte queste ultime modifiche apportate, ossia che non produce la copia htm, ma che semplicemente salva la copia in locale e non ha avuto problemi.. ad ogni cambiamento salvava.
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi Anthony47 » 12/02/21 21:31

Anthony ha scritto:Dal log che hai inviato stamattina vedo un blackout sull'esecuzione della MacroOneMinute di 10 minuti circa, dalle 8:29 alle 8:39 circa; ripristinata dalla Macro15Min eseguitasi alle 8:38 circa.
Nel frattempo risultano essere state modificate le celle K7, L7, K3, L3; quindi non escluderei che l'operatore si sia soffermato per lungo tempo in fase di edit di quelle celle, e questo ha la tendenza a far sospendere le macro pianificate; e' per questo che sono state aggiunte le ulteriori Macro15Min, Macro30Min e Macro60Min (le chance che si sospendano tutte e' molto bassa).

Ripeto: ho visto un (1) blackout di 10 minuti (su un periodo di 2 ore); e la cosa (che le macro onTime si potessero anche fermare) era anche prevista, tant'e' che abbiamo aggiunto tre livelli di controllo (15-30-60 min).
Da cosa deduci che non salva come prima il file htm? Puoi descrivere e documentare la situazione come la vedi tu?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 12/02/21 23:07

Anthony47 ha scritto:
Anthony ha scritto:Dal log che hai inviato stamattina vedo un blackout sull'esecuzione della MacroOneMinute di 10 minuti circa, dalle 8:29 alle 8:39 circa; ripristinata dalla Macro15Min eseguitasi alle 8:38 circa.
Nel frattempo risultano essere state modificate le celle K7, L7, K3, L3; quindi non escluderei che l'operatore si sia soffermato per lungo tempo in fase di edit di quelle celle, e questo ha la tendenza a far sospendere le macro pianificate; e' per questo che sono state aggiunte le ulteriori Macro15Min, Macro30Min e Macro60Min (le chance che si sospendano tutte e' molto bassa).

Ripeto: ho visto un (1) blackout di 10 minuti (su un periodo di 2 ore); e la cosa (che le macro onTime si potessero anche fermare) era anche prevista, tant'e' che abbiamo aggiunto tre livelli di controllo (15-30-60 min).
Da cosa deduci che non salva come prima il file htm? Puoi descrivere e documentare la situazione come la vedi tu?

Ciao

No Anthony... non ci stiamo capendo io parlo del salvataggio del file in locale.. quello che avveniva alla variazione del range di celle da I2 a L162 che appunto era nella macro:
Codice: Seleziona tutto
myRan = "I2:L162"       '<<< L'area per i cui cambiamenti viene subito fatto un File Save


è questa che non salva più.. quella in htm si aggiorna ogni minuto.. perfetta come un orologio svizzero.
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi Anthony47 » 13/02/21 00:43

Ah...
Sempre dal log che ho commentato prima, che copre esattamente 2 ore, si vedono 16 salvataggi; non ho motivo per dubitare che ne machi qualcuno; quanto durata la fase di salvataggio non lo so, ma le modifiche alla macro non appesantiscono granche'.
Modifica quella macro in questo modo:
Codice: Seleziona tutto
'...
If Application.Intersect(Target, Range(myRan)) Is Nothing Then GoTo ExA    'MMMM
tSave = Timer
ThisWorkbook.Save
Debug.Print Now, Target.Address, Format(Timer - tSave, "0.00")
ExA:                                        '++++
'...

In questo modo il debug ci dira' anche quanti secondi sono stati necessari per il salvataggio:
Codice: Seleziona tutto
13/02/2021 00:11:19         $I$6          0,44
Tieni presente che il Salvataggio forza il ricalcolo di tutto il file, non so quanto sono complesse e quanto tempo possa richiedere. Una qualche riduzione si potrebbe avere salvando il file in formato .xlsb, che pero' e' un formato meno resiliente alla corruzione; se vai su questo formato prevedi di aumentare la frequenza di backup.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 16/02/21 07:15

Anthony47 ha scritto:Ah...
Sempre dal log che ho commentato prima, che copre esattamente 2 ore, si vedono 16 salvataggi; non ho motivo per dubitare che ne machi qualcuno; quanto durata la fase di salvataggio non lo so, ma le modifiche alla macro non appesantiscono granche'.
Modifica quella macro in questo modo:
Codice: Seleziona tutto
'...
If Application.Intersect(Target, Range(myRan)) Is Nothing Then GoTo ExA    'MMMM
tSave = Timer
ThisWorkbook.Save
Debug.Print Now, Target.Address, Format(Timer - tSave, "0.00")
ExA:                                        '++++
'...

In questo modo il debug ci dira' anche quanti secondi sono stati necessari per il salvataggio:
Codice: Seleziona tutto
13/02/2021 00:11:19         $I$6          0,44
Tieni presente che il Salvataggio forza il ricalcolo di tutto il file, non so quanto sono complesse e quanto tempo possa richiedere. Una qualche riduzione si potrebbe avere salvando il file in formato .xlsb, che pero' e' un formato meno resiliente alla corruzione; se vai su questo formato prevedi di aumentare la frequenza di backup.

Ciao

Per il momento ho avuto un alt dalla direzione, siccome vediamo le informazioni sui nostri devices.. non va bene :lol:
devono arrivare i tablet (pensa te!), però fino ad allora mi hanno chiesto di interrompere il testing.
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 17/02/21 17:38

Non riesco a capire Anthony sebbene sia ritornato al principio, prima che facessimo le modifiche, ogni tanto torna un errore.. cliccando debug evidenzia questa stringa:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)


Di seguito ti riporto il log della finestra immediata dopo quasi una giornata di lavoro:
Codice: Seleziona tutto
17/02/2021 07:20:44         $I$2          0,87
17/02/2021 07:39:40         $I$3          0,72
17/02/2021 07:42:01         $I$4          0,75
17/02/2021 07:43:52         $I$5          0,70
17/02/2021 07:46:09         $I$6          1,09
17/02/2021 07:49:53         $I$8          1,09
17/02/2021 07:53:19         $I$9          2,66
17/02/2021 07:55:54         $I$10         2,99
17/02/2021 08:01:48         $I$11         0,73
17/02/2021 08:04:14         $I$12         1,06
17/02/2021 08:08:22         $I$13         1,83
17/02/2021 08:24:45         $I$14         1,1117/02/2021 13:25:21     $K$30         2,62
17/02/2021 13:34:19         $I$39         2,62
17/02/2021 13:52:44         $I$40         1,06
17/02/2021 13:53:36         $K$35         2,27
17/02/2021 13:53:49         $L$35         2,98
17/02/2021 13:54:36         $I$41         1,93
17/02/2021 13:55:46         $K$31         3,28
17/02/2021 13:55:50         $L$31         1,03
17/02/2021 14:00:40         $K$33         2,68
17/02/2021 14:00:57         $L$33         2,39
17/02/2021 14:01:46         $I$42         1,03
17/02/2021 14:07:56         $I$43         3,12
17/02/2021 14:09:04         $I$44         2,00
17/02/2021 14:09:09         $I$44         0,72
17/02/2021 14:09:12         $I$44         1,03
17/02/2021 14:09:52         $K$34         3,89
17/02/2021 14:09:58         $L$34         1,01
17/02/2021 14:10:41         $I$45         0,70
17/02/2021 14:11:28         $K$38         0,70
17/02/2021 14:11:33         $L$38         0,69
17/02/2021 14:25:53         $I$46         2,68
17/02/2021 14:26:26         $K$39         0,78
17/02/2021 14:26:29         $L$39         0,70
17/02/2021 14:33:51         $I$32         1,03
17/02/2021 14:34:49         $I$47         0,78
17/02/2021 14:40:57         $I$48         1,11
17/02/2021 14:42:15         $I$49         2,32
17/02/2021 14:43:07         $I$50         1,06
17/02/2021 14:53:11         $I$51         3,57
17/02/2021 15:01:35         $I$52         2,36
17/02/2021 15:03:29         $K$37         3,29
17/02/2021 15:03:50         $L$41         0,70
17/02/2021 15:03:53         $K$42         1,34
17/02/2021 15:03:58         $L$42         1,33
17/02/2021 15:15:49         $I$53         1,42
17/02/2021 15:18:01         $I$54         2,52
17/02/2021 15:19:12         $L$46         1,11
17/02/2021 15:24:36         $K$40         2,29
17/02/2021 15:52:19         $I$56         4,36
17/02/2021 15:52:51         $I$56         2,21
17/02/2021 15:57:49         $K$45         0,75
17/02/2021 15:57:55         $L$45         2,75
17/02/2021 16:00:29         $L$53         3,91
17/02/2021 16:00:35         $L$54         3,03
17/02/2021 16:02:49         $K$36         2,00
17/02/2021 16:02:56         $L$36         2,15
17/02/2021 16:05:36         $I$57         1,07
17/02/2021 16:06:04         $K$52         2,05
17/02/2021 16:06:11         $L$52         1,45
17/02/2021 16:16:30         $K$53         1,43
17/02/2021 16:23:13         $K$54         0,72
17/02/2021 16:28:36         $K$43         2,68
17/02/2021 16:28:41         $L$43         2,34
17/02/2021 16:34:07         $I$58         2,67
17/02/2021 16:40:18         $K$57         3,00
17/02/2021 16:40:29         $L$57         7,94
17/02/2021 16:43:41         $K$47         0,80
17/02/2021 16:43:45         $L$47         1,03
17/02/2021 16:47:28         $K$55         1,48
17/02/2021 16:47:34         $L$55         2,98
17/02/2021 16:49:28         $L$58         2,95
17/02/2021 16:49:43         $L$56         12,18
17/02/2021 16:49:51         $L$51         1,39
17/02/2021 16:50:28         $K$56         0,70
17/02/2021 16:50:34         $L$56         3,20
17/02/2021 17:07:57         $K$58         1,42
17/02/2021 17:08:00         $L$58         0,70
17/02/2021 15:25:04         $L$40         21,34
17/02/2021 15:25:28         $I$55         4,41
17/02/2021 15:26:26         $L$49         1,45
17/02/2021 15:35:20         $K$49         1,09
17/02/2021 15:41:56         $K$44         2,61
17/02/2021 15:42:01         $L$44         0,70

17/02/2021 08:25:46         $K$4          1,33
17/02/2021 08:25:54         $L$4          3,04
17/02/2021 08:30:59         $K$2          1,42
17/02/2021 08:31:04         $L$2          2,26
17/02/2021 08:31:09         $K$9          2,26
17/02/2021 08:31:12         $L$9          0,69
17/02/2021 08:36:15         $I$15         2,29
17/02/2021 08:36:57         $K$10         0,78
17/02/2021 08:37:00         $L$10         0,77
17/02/2021 08:41:42         $K$3          0,70
17/02/2021 08:41:47         $L$3          1,08
17/02/2021 08:45:48         $K$5          1,03
17/02/2021 08:45:53         $L$5          1,79
17/02/2021 08:50:08         $K$7          1,40
17/02/2021 08:50:13         $L$7          2,45
17/02/2021 08:56:17         $K$8          1,11
17/02/2021 08:56:20         $L$8          0,72
17/02/2021 09:08:20         $K$6          0,72
17/02/2021 09:08:24         $L$6          1,07
17/02/2021 09:32:48         $K$11         1,03
17/02/2021 09:32:52         $L$11         0,79
17/02/2021 09:36:12         $K$16         3,30
17/02/2021 09:36:21         $L$16         1,01
17/02/2021 09:36:39         $K$12         1,46
17/02/2021 09:36:46         $L$12         1,09
17/02/2021 09:37:00         $K$14         0,77
17/02/2021 09:37:06         $L$14         0,72
17/02/2021 09:37:35         $K$13         1,41
17/02/2021 09:37:39         $L$13         1,44
17/02/2021 09:48:55         $I$17         1,40
17/02/2021 09:51:14         $I$18         2,78
17/02/2021 09:53:12         $I$19         2,29
17/02/2021 09:54:27         $I$20         2,28
17/02/2021 09:55:51         $K$15         1,81
17/02/2021 09:55:55         $L$15         1,08
17/02/2021 10:02:00         $I$22         1,42
17/02/2021 10:16:22         $I$23         1,90
17/02/2021 10:17:37         $I$24         1,48
17/02/2021 10:19:10         $I$25         2,35
17/02/2021 10:35:12         $K$20         1,09
17/02/2021 10:35:16         $L$20         1,33
17/02/2021 10:39:43         $I$26         4,54
17/02/2021 10:41:12         $L$17         0,73
17/02/2021 10:41:18         $K$18         0,68
17/02/2021 10:41:23         $L$18         1,62
17/02/2021 10:42:24         $I$27         1,41
17/02/2021 10:52:00         $K$24         2,14
17/02/2021 10:52:08         $L$24         2,06
17/02/2021 10:52:24         $K$19         2,77
17/02/2021 10:52:30         $L$19         3,64
17/02/2021 10:58:22         $I$28         1,86
17/02/2021 10:59:48         $K$25         2,30
17/02/2021 10:59:54         $L$25         1,45
17/02/2021 11:01:32         $K$22         1,88
17/02/2021 11:01:36         $L$22         1,64
17/02/2021 11:07:22         $I$28         1,41
17/02/2021 11:07:39         $I$29         1,86
17/02/2021 11:14:28         $K$26         2,32
17/02/2021 11:14:31         $L$26         1,03
17/02/2021 11:14:46         $I$30         3,01
17/02/2021 11:26:44         $K$23         1,45
17/02/2021 11:26:51         $L$23         2,40
17/02/2021 11:26:55         $L$28         0,73
17/02/2021 11:26:58         $L$30         1,08
17/02/2021 11:28:31         $L$21         1,32
17/02/2021 11:34:57         $K$28         46,69
17/02/2021 11:39:35         $K$27         2,56
17/02/2021 11:39:40         $L$27         1,42
17/02/2021 11:40:26         $L$29         2,74
17/02/2021 11:48:33         $K$29         1,39
17/02/2021 11:48:37         $K$29         1,09
17/02/2021 12:58:21         $I$31         2,20
17/02/2021 12:59:40         $I$32         1,95
17/02/2021 13:02:02         $I$33         2,69
17/02/2021 13:05:09         $I$35         2,59
17/02/2021 13:07:00         $I$36         1,90
17/02/2021 13:11:09         $I$37         1,06
17/02/2021 13:13:07         $I$38         3,30
17/02/2021 13:19:08         $I$32         0,73
17/02/2021 17:11:13         $K$48         1,44
17/02/2021 17:11:16         $L$48         1,10


Non capisco prima non dava questo errore..
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi Anthony47 » 17/02/21 23:37

C'e' anche un codice di errore?

Quanto al log, esso conferma che ci sono volte in cui il tempo di salvataggio e' lunghissimo; questi i tempi peggiori:
Codice: Seleziona tutto
 46,71
 21,35
 12,19
 7,95
 4,55
 4,42
 4,37
 3,92
 3,89
 3,65

Di questi certamente i primi 4-5 sono sproporzionati, ma il perche' puo' essere solo esaminato localmente... Per un filtro grossolano potresti salvare per qualche ora sul disco locale e confrontare con cosa succede salvando su disco di rete.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 20/02/21 09:47

Anthony47 ha scritto:C'e' anche un codice di errore?

Quanto al log, esso conferma che ci sono volte in cui il tempo di salvataggio e' lunghissimo; questi i tempi peggiori:
Codice: Seleziona tutto
 46,71
 21,35
 12,19
 7,95
 4,55
 4,42
 4,37
 3,92
 3,89
 3,65

Di questi certamente i primi 4-5 sono sproporzionati, ma il perche' puo' essere solo esaminato localmente... Per un filtro grossolano potresti salvare per qualche ora sul disco locale e confrontare con cosa succede salvando su disco di rete.

Ciao

Ciao Anthony, scusa il ritardo nella risposta, ma speravo di riuscire ad essere presente nel momento in cui venivano restituiti degli errori, ma ahimé è sempre accaduto mentre ero fuori. Non c'è uno script che si può aggiungere per avere maggiori dettagli negli errori che compaiono nella finestra immediata del debug? In questo modo anche se non sono presente nel momento in cui accadono, li potrei rilevare e nel caso anche riportare, in un secondo momento.
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi Anthony47 » 20/02/21 19:51

Eh, la gestione delle situazioni diverse dal normale sono quelle modifiche che trasformano un prototipo funzionante in un prodotto finito, e in genere richiedono 2-5 volte il tempo necessario per creare il prototipo...

Per una gestione piu' casareccia potresti usare il seguente approccio:
- a inizio macro inserisci On Error Resume Next
- poi all'interno della tua macro inserisci tanti blocchi di error reporting che, in caso di presenza di errore, stampano l'informazione dell'area in errore. Esempio:
Codice: Seleziona tutto
Sub OneMinuteMacro()                           'This is your 1 minute macro with amendments
On Error Resume Next
If StopAll = False Then                        ' StopAll??
    If ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value < (Now - TimeSerial(0, 1, 0)) Then
        ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value = Now + TimeSerial(0, 4, 0)                   '15
        Application.OnTime ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value, "Macro15Min"
        Debug.Print "++Restart 15Min", Now, ThisWorkbook.Sheets("STATS S.").Range("Next15Min").Value
    End If
'>>>>>> BLOCCO DI ERROR REPORTING:
'e' un esempio dimostrativo
If Err.Number <> 0 Then
    Debug.Print "OMM-1", Format(Now, "hh:mm:ss"), Err.Number   'Dove, quando, Codice
    Debug.Print "OMM-1", Err.Description                       'Descrizione testuale
'    Debug.Print "OMM-1", XXXYYYZZZ                             'Altre info pertinenti
'    Debug.Print "OMM-1", MMMKKKLLL                             'Altre info pertinenti
    Err.Clear                                                  'Clear Errore
    'Stop                                           'Eventuale stop per esaminare l'errore
    'GoTo ESCI                                      'Eventuale GoTo per terminare la macro
End If
'<<<<<< FINE BLOCCO 
  Application.ScreenUpdating = False        '++++ Richiamo alla creazione del nuovo file
  Call NewWb                                '++++
  Application.ScreenUpdating = True         '++++
'etc
'etc
ESCI:
On Error GoTo 0
End Sub

Vedi le istruzioni On Error Resume Next / On Error GoTo 0 + Blocco di error reporting
Ovviamente metterai taaanti blocchi di controllo, e in ogni blocco stamperai una sigla per indicare quale blocco ha segnalato errore e, caso per caso, altre informazioni che pensi possano essere di ausilio a decodificare quale errore e in quale posizione si sia verificato.
In questo modo l'errore non bloccherebbe l'esecuzione della macro, cosa che in qualche caso potrebbe essere pericoloso; quindi in qualche caso potrebbe essere necessario inserire istruzioni di ripristino dell'ambiente corretto. Questa e' la fase che richiede maggiore attenzione.

Spero che possa trovare spunti utili

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Invio dati da foglio excel a pagina web ad ogni modifica

Postdi systemcrack » 22/02/21 10:44

Anthony47 ha scritto:C'e' anche un codice di errore?



Finalmente sono riuscito ad assistere ad un errore.. ti allego di seguito i due screen shot

Immagine Immagine

Comunque non sto usando il file con le nuove macro che mi avevi passato sino ad ora.. il file in uso al m,omento è quello iniziale.. questo perchè dalla direzione mi hanno chiesto di interrompere la cosa momentaneamente.
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Invio dati da foglio excel a pagina web ad ogni modifica":


Chi c’è in linea

Visitano il forum: Nessuno e 56 ospiti