Condividi:        

Realizzare un cronometro in VBA

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: Realizzare un cronometro in VBA

Postdi Charly_new » 26/03/10 12:13

Ciao Anthony, ora l'ho scritto nella parte alta del primo modulo, ne ho 10, e l'errore non si presenta.
Questo sta a significare che è tutto ok?
Scusa se insisto e approfitto della tua disponibilità: hai mai provato a interagire con segnali (contatti) provenienti dalla LPT1?
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Sponsor
 

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 26/03/10 18:50

Immagine
Facendo un ponticello tra il pin 25 e il pin 10 della porta parallela, contavo di leggere il segnale e variare lo stato 0/1 in una cella.
In cima la modulo ho scritto la seguente dichiarazione
Codice: Seleziona tutto
Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
mentre con questa istruzione
Codice: Seleziona tutto
[A1] = Inp(888)
mi sarei aspettato di vedere "qualcosa" nella cella A1, e invece nulla!
Dove e cosa sbaglio?
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Anthony47 » 29/03/10 00:29

Dove e cosa sbaglio?
Sbagli che sei troppo ottimista. Non ho mai usato la porta parallela per scambio dati, ma come minimo la porta va inizializzata e poi dovresti procedere come da protocollo di gestitione.
Come appena detto questo e' fuori dalle mie conoscenze, ma immagino che chi ha suggerito le dichiarazioni debba avere qualche idea anche su come procedere oltre.

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

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 29/03/10 13:06

Grazie ancora Anthony.
Quando avrò risolto chiuderò il post con tutti i suggerimenti per come leggere gli input della parallela.
Ciao!
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Flash30005 » 29/03/10 14:41

Nel Web ci sono tantissimi esempi per l'utilizzo della porta parallela
e questo è uno dei tanti
e mi sembra strano che con una o due righe di codice vba e un segnale 0/1 sul piedino 10 si possa ottenere una variazione di valore in una cella di excel.

Ciao


P.s. anche questo è interessante
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 29/03/10 16:27

Ciao Flash30005, sei davvero gentile a dedicarmi attenzione.
I tuoi link sono "manna dal cielo",.. dico davvero!..è la conferma che ciò che intendo si può fare.
Per quanto riguarda attivare le uscite, cioè dare tensione ai pin 2,3,4,5,6,7,8 e 9 tramite un semplice comando è cosa fatta.
Quel che mi manca ancora è di leggere gli ingressi, quelli disponibili sui pin 10,11,12 e 13.
Qui purtroppo trovo ancora delle difficoltà.
Pensavo di interrogare la porta in ingresso come valore decimale per determinare da quale pin arrivi il segnale, successivamente generare un evento e associarlo poi ad una cella.
Spero di essere riuscito a spiegarmi,... è sempre così difficile per me!
Comunque quando avrò raggiunto lo scopo metterò i codici a disposizione per sottoporli ai vostri pareri.
Per il momento ti ringrazio tantissimo per il tempo e per i suggerimenti che mi hai dato.
Ciao!
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 30/03/10 20:10

Ciao a tutti.
VIDEO:
http://www.youtube.com/watch?v=MG-NNqyOU9g

Dal video spero si riesca a vedere come faccio ad arrestare il cronometro avviato dal Bottone di START
Per la prima "corsa" l'arresto lo faccio localmente dal Bottone di STOP precedentemente abilitato.
Con la seconda l'arresto lo faccio da remoto toccando i fili collegati ai pin 25 e 10 della porta parallela e...nell'editor del VBA utilizzo questo codice:
Codice: Seleziona tutto
'stop da remoto

If Inp(889) = 248 Then GoTo 20
GoTo 21
20: STOP_Click
21:
Ciao, charly
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Flash30005 » 31/03/10 22:28

Bravo Charly!!!

Quindi sei riuscito nell'intento!?
Sicuramente altri utenti ti ringrazieranno per l'apporto fornito

Ciao

Ps: credo che il codice possa funzionare più "linearmente" così

Codice: Seleziona tutto
'stop da remoto
If Inp(889) = 248 Then
STOP_Click
endif
21:
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 01/04/10 10:54

Non avevo considerato che potesse funzionare più linearmente così, grazie per le dritte! ;)
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 09/04/10 20:45

Ciao a tutti!
Nella Label10 visualizzo il contenuto della cella 400 con il formato come da immagine:
Codice: Seleziona tutto
Label10 = [A400].Text

Immagine

Vorrei vederlo invece con quest'altro formato:
Immagine
ma, il risultato è questo: (# # # # # #) e non riesco ad uscirne!

...stò annegando in un bicchiere d'acqua, vero!?
Grazie.
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Anthony47 » 11/04/10 00:07

Che cosa vorresti visualizzare, con codesta formattazione?

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

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 11/04/10 10:36

opss, hai ragione...non sono stato per niente chiaro!
Vorrei vedere anche i millesimi di secondo.
Ciao.
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Anthony47 » 11/04/10 21:54

Per vedere i millesimi puoi usare il formato "mm.ss,000"

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

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 12/04/10 08:00

Ciao Anthony, ho provato anche quel tipo di formattazione ma il risultato, purtroppo, è sempre lo stesso:
Nella Label vedo i cancelletti ########
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Anthony47 » 13/04/10 00:27

Ho creato una userform, con una label, poi ho inserito il codice
Codice: Seleziona tutto
Private Sub UserForm_Initialize()
Label1 = [B2].Text
End Sub
Mettendo in B2 il timer e usando la formattazione Personalizzato / mm:ss,000, quando attivo la form la label viene correttamente visualizzata come rappresentata nella cella (quindi coi millesimi). Tu invece che cosa fai, cioe' come riproduci l' errore? Nella cella la visualizzazione e' corretta? Che differenza c' e' tra l' uso del formato mm:ss,00 e quello coi millisecondi? E che versione di excel usi?
Prova anche a non usare [cella] ma Sheets("NomeFoglio").Range("cella").Text, nel caso che sia l' uso del metodo Evaluate (il significato delle parentesi quadre, appunto) a creare problemi.

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

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 13/04/10 15:46

Grazie Anthony!
Sai che ho provato ad aprire il file da un'altro computer, con la cella opportunamente formattata come mi hai suggerito, e a sorpresa tutto funziona.
Con quello che normalmente utilizzo ancora non mi riesce; eppure le versioni del SO e di Excel sono le stesse!
Comunque, per ora, quel che importa è che si riescano a vedere i millesimi.
Grazie ancora Anthony per la pazienza.
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 13/04/10 16:03

Scusate l'off topic:
Come correggere il contenuto di un messaggio dopo aver fatto l'invio?... ho provato a leggere anche qui ma non ho a disposizione nessun pulsante modifica...
Grazie!
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Re: Realizzare un cronometro in VBA

Postdi Anthony47 » 13/04/10 16:07

Non puoi modificare i messaggi scritti, quindi o inserisci un nuovo messaggio per correggere o chiedi ai Moderatori via pm di correggere eventuali cose scabrose...

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

Re: Realizzare un cronometro in VBA

Postdi Charly_new » 13/04/10 16:10

Grazie per la celere risposta Anthony!
Avatar utente
Charly_new
Utente Junior
 
Post: 59
Iscritto il: 08/03/10 15:57

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Realizzare un cronometro in VBA":


Chi c’è in linea

Visitano il forum: Nessuno e 44 ospiti