Sviluppare funzionalita su Microsoft Office con VBA Mouovere cursore mouse sullo schermo tramite excel

LoginRegistrati
Stai vedendo 16 articoli - dal 1 a 16 (di 16 totali)
  • Autore
    Articoli
  • #27183 Risposta
    marco_budin
    marco_budin
    Partecipante
      2 pts

      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

       

      #27184 Risposta
      alfrimpa
      alfrimpa
      Partecipante
        16 pts

        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

        #27185 Risposta
        marco_budin
        marco_budin
        Partecipante
          2 pts

          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.
          #27187 Risposta
          alfrimpa
          alfrimpa
          Partecipante
            16 pts

            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

            #27190 Risposta
            marco_budin
            marco_budin
            Partecipante
              2 pts

              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

               

              #27191 Risposta
              alfrimpa
              alfrimpa
              Partecipante
                16 pts

                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

                #27197 Risposta
                zer0kelvin
                zer0kelvin
                Partecipante
                  5 pts

                  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

                  @alfrimpa:

                  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
                  
                  #27199 Risposta
                  marco_budin
                  marco_budin
                  Partecipante
                    2 pts

                    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

                     

                    #27205 Risposta
                    zer0kelvin
                    zer0kelvin
                    Partecipante
                      5 pts

                      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
                      
                      #27208 Risposta
                      marco_budin
                      marco_budin
                      Partecipante
                        2 pts

                        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

                        #27214 Risposta
                        zer0kelvin
                        zer0kelvin
                        Partecipante
                          5 pts

                          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.

                          #27216 Risposta
                          marco_budin
                          marco_budin
                          Partecipante
                            2 pts

                            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

                            #27218 Risposta
                            zer0kelvin
                            zer0kelvin
                            Partecipante
                              5 pts

                              Allora è probabilissimo, se chi si occupa della sicurezza del sistema conosce il suo lavoro, che vengano bloccati anche gli script.

                              Ciao da Marco.

                              #27226 Risposta
                              marco_budin
                              marco_budin
                              Partecipante
                                2 pts

                                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.
                                #27231 Risposta
                                patel
                                patel
                                Moderatore
                                  39 pts

                                  prova così

                                  Sub Stop_()
                                  On Error Resume Next
                                  Application.OnTime dtmNext, "SendNumLock", , False
                                  End Sub
                                  #27242 Risposta
                                  marco_budin
                                  marco_budin
                                  Partecipante
                                    2 pts

                                    Buongiorno a tutti,

                                    volevo ringraziarvi tutti per l'aiuto che mi avete dato.

                                    vi auguro una buona giornata

                                    alla prossima volta

                                    Marco

                                  LoginRegistrati
                                  Stai vedendo 16 articoli - dal 1 a 16 (di 16 totali)
                                  Rispondi a: Mouovere cursore mouse sullo schermo tramite excel
                                  Gli allegati sono permessi solo ad utenti REGISTRATI
                                  Le tue informazioni:



                                  vecchio frac - 2750 risposte

                                  albatros54
                                  albatros54 - 1009 risposte

                                  patel
                                  patel - 956 risposte

                                  Marius44
                                  Marius44 - 824 risposte

                                  Luca73
                                  Luca73 - 696 risposte