Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

doppio OnTime , si puo?

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

doppio OnTime , si puo?

Postdi Gianca532011 » 26/04/16 08:39

Ciao a tutti , eccomi di nuovo con il solito problema sul quale giro a vuoto da qualche giorno, e che infine vi propongo data la mia totale inconsistenza in VBa (prego apprezzare la finezza per non dire che sono una capra ).

il problema : ho recuperato su l web un foglio che recupera dati di borsa (obbligazioni) e li dispone in colonne successive - tali quindi da formare uno storico dati. Tutto ciò mediante VBA e con l'utilizzo di 2 pulsanti : 1) attivazione dello scarico dati "Aggiorna tutti i prezzi" sul foglio Prezzi e 2) " inserisci prezzi " sul foglio Storico. In manuale , rispettando la sequenza dati è tutto OK .

A questo punto vorrei automatizzare la sequenza di scarico dati a un orario definito, per es. alle 19,30 e alle 19,35 - a borse chiuse attivando rispettivamente la macro "aggiornatutti" e (dopo) la macro "aggiorna" , se possibile con istruzione on time .
Ed è a questo punto che mi sono perso per strada...
Allego file manuale , come recuperato da internet, e versione auto 3 con mie modifiche (vedi worksheet)
ps. la pw per aprire il VBA è "macro"


http://www.filedropper.com/storicotitoli
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Sponsor
 

Re: doppio OnTime , si puo?

Postdi Gianca532011 » 27/04/16 10:29

In pratica la domanda è : dove devo collocare la macro on time ? In workbook, in un modulo, nel folglio principale che già contiene il progetto? ho già fatto diverse prove ma sempre con risultato nullo = non funziona o con errore .
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: doppio OnTime , si puo?

Postdi Gianca532011 » 27/04/16 16:27

Perchè se attivo la macro di aggiornamento dati con procedura manuale funziona perfettamente mentre se tento di attivarla con ontime non funziona e mi dà questo errore :

impossibile eseguire la macro.....E' possibile che la macro non sia disponibile nella cartella di lavoro o che siano disattivate.

Premesso che la macro è inserita nel foglio "prezzi" e non in un modulo.
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: doppio OnTime , si puo?

Postdi Gianca532011 » 28/04/16 11:31

ciao, seguendo le istruzioni di Anthony in un vecchio post sono riuscito a far partire la macro attivandola da Workbook:

Sub Workbook_Open()
Application.Run "foglio1.AggiornaDati"
Application.OnTime TimeValue("12:20"), "Aggiorna"
End Sub

Però mi resta il problema dell'orario . La domanda : come si fa' ad attivare l'application run a tempo con OnTime . Sapete indicarmi la corretta sintassi ?
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: doppio OnTime , si puo?

Postdi alfrimpa » 28/04/16 11:47

Ciao Gianca

Con questa istruzione

Codice: Seleziona tutto
Application.OnTime Now + TimeValue("00:01:00"), "Mia_Macro"


Mia_Macro viene eseguita dopo un minuto a partire da adesso.

Con quest'altra

Codice: Seleziona tutto
Application.OnTime TimeValue("17:00:00"), "Mia_Macro"


la macro viene eseguita alle ore 17.00
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: doppio OnTime , si puo?

Postdi Gianca532011 » 28/04/16 12:41

Grazie, cosi avevo già provato ma non funzionava.
Alla fine ho risolto in questo modo :

Sub Workbook_Open()
Application.OnTime TimeValue("18:30"), "foglio1.AggiornaDati"
Application.OnTime TimeValue("18:35"), "Modulo1.Aggiorna"
End Sub


Senza l'indicazione di dove sono collocate le macro, si inchiodava tutto. Presumo per un problema di compatibilità tra excel, io uso la v. 2013 e il file trovato sul web, è di sicuro antecedente . grazie comunque.
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: doppio OnTime , si puo?

Postdi Gianca532011 » 29/04/16 13:25

Giusto per completezza volevo informare che sono finalmente riuscito a raggiungere il mio obiettivo , ovvero :
1) apertura automatica del file excel, a un ora prefissata mediante sw Z_cron ( free) che alle ore xx mi apre il file excell.
2) il file excel scarica i dati, aggiorna il foglio, salva e chiude lo stesso mediante macro.
3) Z-cron , infine chiude excel .
Tutto quanto sopra è settabile in giorni e orari prestabiliti. E' ovvio che i tempi devono essere impostati secondo lo schema di cui sopra 1-->2 -->3
Allego promemoria con impostazione z-crone , nelle due serie di eventi : apertura file e chiusura excel.
(Non male per una capra...)

http://www.filedropper.com/zcronimpostazioni
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: doppio OnTime , si puo?

Postdi Gianca532011 » 17/05/16 07:51

Problemino : il file excel viene chiuso con la macro "Chiudi_excel" a cui segue il contemporaneo salvataggio del file, successivamente z-cron chiude excel.

Sub Chiudi_Excel()
ActiveWorkbook.Save
With Application
.DisplayAlerts = False
ActiveWorkbook.Close
.DisplayAlerts = True
Application.Quit
End With
End Sub

Però quando riapro normalmente il file di excel mi ritrovo sempre la finestra di "Ripristino file attiva " con relativo messaggio (vedi) da qui il sospetto che qualche passaggio della procedura non sia corretto, vorrei quindi capire dov'è l'errore procedendo per esclusione a partire dalla macro sopra con la quale viene chiuso il file ma non excel, è corretta ? se si dovrò verificare il metodo di chiusura di excel con z-cron.
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: doppio OnTime , si puo?

Postdi Gianca532011 » 18/05/16 15:41

Non è che la macro funziona male perchè il file è .xlsm, magari si deve specificarlo ?
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: doppio OnTime , si puo?

Postdi Gianca532011 » 19/05/16 07:40

Come non detto, ho aggiunto questa macro in "oggetti -->This Workbook", come suggerito da Anthony ad un altro utente .
grazie Anthony.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Chiudi_Excel
End Sub
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18


Torna a Applicazioni Office Windows


Topic correlati a "doppio OnTime , si puo?":


Chi c’è in linea

Visitano il forum: Nessuno e 20 ospiti