› Sviluppare funzionalita su Microsoft Office con VBA › Mouovere cursore mouse sullo schermo tramite excel
-
AutoreArticoli
-
Buongiorno a tutti,
Al lavoro hanno installato un software di aicurezza che non fa piu partire i programmi .exe efa sconnettere il pc dopo 5 minuti di inattivita (per impedirlo avevo il mouse jingle, che ora non funziona piu).
Volevo chiedere se vi era la possibilita di creare un codice vba in excel che simulasse un breve movimento del mouse ogni 4minuti. L idea è di aprire il file excel, parte la macro e poi lo metto in sottofondo. E se è inattivo per 4 minuti il mouse, ovunque si trovi nello schermo fa un brevissimo movimento.
Potreste darmi una mani a creare questo? Esiste già?
Vi ringrazio anticipatamente di ogni aiuto che mi potrete dare. In atresa vi auguro una buona serata
Marco
Dovresti eseguire una macro ogni tot di tempo con Application.OnTime.
Quibè spiegato come fare
https://microsoft.public.it.office.excel.narkive.com/sQ7JgYWT/esecuzione-periodica-macro
Buongiorno Alfrimpa,
grazie per la tua risposta. Cercando un po su internet. ho trovato alcuni codici che ho messo nell'excel. Il programma simula il movimento del mouse e lo sposta, ma il computer non lo riconosce come tale e quindi si slogga dopo 5 minuti. magari manca il codice principale del "mouse"... o devo fargli fare un movimento più accentuato, magari spostandolo di 1/2cm? come lo faccio a inserire nel codice?
in attesa ti ringrazio nuovamente
saluti marco
Allegati:
You must be logged in to view attached files.L’oggetto Worksheet non ha l’evento MouseMove; sul foglio non puoi spostarti di centimetri ma selezionare una cella piuttosto che un’altra indipendentemente dalle loro dimensioni.
Alfredo
Ciao! grazie della risposta,
vi è un alternativa? Far spostare da una cella all’altra destra/sinistra all infinito... ma in sottofondo chiaramente. Così che viene detettato dal PC e non faccia sconnettere il PC nel momento di inattività. Ma quando lavoro non mi disturbi nell attività.
gai Idee? Mi potresti aiutare?
saluti
marco
Che io sappia non è possibile lavorare con Excel mentre è in esecuzione una macro.
Ma poi se la tua azienda ha ritenuto di adottare le misure di sicurezza che hai detto avrà avuto i suoi buoni motivi quindi perché cerchi in ogni modo di bypassarle?
Alfredo
Ciao.
Potresti invece simulare la pressione di un tasto tramite l'istruzione SendKeys che invia sequenze di tasti all'applicazione attiva.
Potresti ad es simulare la doppia pressione del tasto BlocNum
Io per es. ho dovuto farlo.
Ti descrivo lo scenario: ambulatorio in cui l'operatore sanitario esegue medicazioni ed utilizza il pc per la consultazione/registrazione della procedura in atto; nel tempo richiesto ad eseguire la medicazione il PC si disconnette costringendo l'operatore a reinserire username e password.
Io comunque ho utilizzato un piccolo script VBS per ottenere questo.
Public Sub SendNumLock() SendKeys "{NUMLOCK}" SendKeys "{NUMLOCK}" End Sub
Ciao zer0kelvin.
grazie per la tua risposta. Esatto il mio problema è esattamente quello.
una cosa, utilizzo il tuo codice, lo metto nel modulo, lo associo ad un tasto e lui simula il doppio tasto come descritto da te? All’infinito in background anche?
o devo aggiungere altro o il codice è finito così?
ti ringrazio per la tua preziosa risposta.
saluti
marco
No, quello che ho allegato prima era solo il codice necessario a simulare la pressione dei tasti.
Bisogna aggiungere il codice per lanciare la macro ogni tot secondi.
Prova con
Dim dtmNext As Date Sub Stop_() Application.OnTime dtmNext, "SendNumLock", , False End Sub Public Sub SendNumLock() SendKeys "{NUMLOCK}" SendKeys "{NUMLOCK}" dtmNext = DateAdd("s", 30, Now) Application.OnTime dtmNext, "SendNumLock" End Sub
Ciao Zer0keilvin,
ti ringrazio. ho provato a inserire il codice, e quando fai partire il codice, lui parte senza problemi e si nota che non si sconnette. Domani proverò al lavoro, ma se non è attivo, nel senso se l'excel è minimizzato/in background funziona comunque? o solo quanto è attivo in primo piano?
ti ringrazio per il tuo aiuto e ti auguro una buona giornata.
saluti marco
L'esecuzione continua anche quando Excel è ridotto ad icona.
Volendo si può usare un analogo script vbs che non richiede che Excel sia in esecuzione.
Grazie Zer0kelvin,
domani provo al lavoro la versione con Excel: lo apro, faccio partire la macro, e poi lo minimizzo e vediamo cosa succede 🙂 Poi ti darò feedBack ed eventualmente ti chiederò l'alternativa che hai proposto nel tuo ultimo post.
Ho provato i programmini che ci sono su internet, ma hanno purtroppo aumentato il livello di sicurezza e quindi tutti i .exe vengono detettati dal datore di lavoro.
ti ringrazio e ti auguro una buona giornata
a presto
Marco
Allora è probabilissimo, se chi si occupa della sicurezza del sistema conosce il suo lavoro, che vengano bloccati anche gli script.
Ciao da Marco.
Ciao zer0kelvin,
ho provato e funziona tutto perfettamente. Unica cosa che volevo chiederti, ho notato che si schiaccia 2 volte il pulsante di attivazione o se si schiacci quello di disattivazione (che non era ancora attivato), va in "debug". Si può fare che esce un messaggio se è già attivo/ o se non è ancora attivo (di attivarlo). Così si evita l'errore?
come inserisco tale codice?
ti ringrazio davvero e ti auguro una buona giornata
saluti
Marco
Allegati:
You must be logged in to view attached files.prova così
Sub Stop_() On Error Resume Next Application.OnTime dtmNext, "SendNumLock", , False End Sub
Buongiorno a tutti,
volevo ringraziarvi tutti per l'aiuto che mi avete dato.
vi auguro una buona giornata
alla prossima volta
Marco
-
AutoreArticoli