lavorare mentre si aspetta
Hai un problema con Excel? 
lavorare mentre si aspetta
di bigmim (utente non iscritto) data: 21/03/2016 16:17:06
In un foglio ho:
col. A url sito web
col. B data e ora ultima visita
col. C minuti oltre i quali vorrei visitare di nuovo il sito
Vorrei creare una routine che visiti il sito web in questione una volta scaduto il tempo indicato in B.
Quanto detto dovrebbe essere ripetuto poi per una lunga lista di siti.
Mi pareva all'inizio una cosa abbastanza semplice, ma ho trovato il maggior ostacolo nel fatto che in tutti i tentativi effettuati, mentre la routine "aspetta", non è consentito di continuare a lavorare su Excel.
Queste sono le prove da me fatte:
Con la prima prova, mentre il DoEvents gira, non solo non si può toccare Excel ma la CPU del computer risulta pesantemente impegnata
Con la seconda prova, Application.Wait, idem, Excel non disponibile e CPU "incriccata".
Con la terza prova, sembra che la funzione "Sleep" (presa da Windows tramite dichiarazione iniziale), faccia addormentare tutto,nel senso che anche la CPU sembra poco impegnata, ma per quanto riguarda Excel niente da fare, a me pare che non si possa toccare.
Qualcuno mi sa dire se esiste una funzione che in qualche modo metta in pausa per un periodo determinato di tempo la routine, senza uscire, perché poi allo scadere dovrà andare ad aprire quel sito web? Permettendo nel frattempo di continuare a lavorare tranquillamente?
Grazie in anticipo a chiunque voglia intervenire.
Sub Prova01()
Prossima = Range("B3").Value + Range("C3").Value * 0.00069444
Do While Prossima > Now
DoEvents
Loop
End Sub
Sub Prova02()
For i = 0 To 3
Application.Wait (Now + TimeValue("0:00:10"))
Application.Speech.Speak ("sono le ore" & Time)
Next i
End Sub
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Prova03()
Application.Speech.Speak ("conto 10 secondi")
For a = 1 To 10
Sleep 1000 'delay in milliseconds
Application.Speech.Speak (a)
Next
Application.Speech.Speak ("ciao ciao")
End Sub
|
lavorare mentre si aspetta
di bigmim (utente non iscritto) data: 21/03/2016 16:57:30
In un foglio ho:
col. A url sito web
col. B data e ora ultima visita
col. C minuti oltre i quali vorrei visitare di nuovo il sito
Vorrei creare una routine che visiti il sito web in questione una volta scaduto il tempo indicato in B.
Quanto detto dovrebbe essere ripetuto poi per una lunga lista di siti.
Mi pareva all'inizio una cosa abbastanza semplice, ma ho trovato il maggior ostacolo nel fatto che in tutti i tentativi effettuati, mentre la routine "aspetta", non è consentito di continuare a lavorare su Excel.
Queste sono le prove da me fatte:
Con la prima prova, mentre il DoEvents gira, non solo non si può toccare Excel ma la CPU del computer risulta pesantemente impegnata
Con la seconda prova, Application.Wait, idem, Excel non disponibile e CPU "incriccata".
Con la terza prova, sembra che la funzione "Sleep" (presa da Windows tramite dichiarazione iniziale), faccia addormentare tutto,nel senso che anche la CPU sembra poco impegnata, ma per quanto riguarda Excel niente da fare, a me pare che non si possa toccare.
Qualcuno mi sa dire se esiste una funzione che in qualche modo metta in pausa per un periodo determinato di tempo la routine, senza uscire, perché poi allo scadere dovrà andare ad aprire quel sito web? Permettendo nel frattempo di continuare a lavorare tranquillamente?
Grazie in anticipo a chiunque voglia intervenire.
Sub Prova01()
Prossima = Range("B3").Value + Range("C3").Value * 0.00069444
Do While Prossima > Now
DoEvents
Loop
End Sub
Sub Prova02()
For i = 0 To 3
Application.Wait (Now + TimeValue("0:00:10"))
Application.Speech.Speak ("sono le ore" & Time)
Next i
End Sub
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Prova03()
Application.Speech.Speak ("conto 10 secondi")
For a = 1 To 10
Sleep 1000 'delay in milliseconds
Application.Speech.Speak (a)
Next
Application.Speech.Speak ("ciao ciao")
End Sub
|
Vuoi Approfondire?