|
|
|
| Storico
discussioni |
|
| Auto run macro di Max |
Ciao a tutti ! scusate ma sono alle prime armi
quindi la mia domanda potrebbe risultare a molti di voi banale. ho
un programma che cattura delle quotazioni in tempo reale di
quotazioni di azioni e poi li scarica su un foglio excel. dopo aver
creato una piccola macro come faccio a far in modo che la macro giri
sempre senza che io debba premere f5 o run. la quotazione dura ore e
mi serve che questo macro mi giri automaticamente. grazie |
|
| di Enzo |
La routine qui sottto fa partire automaticamente
una macro chiamata macro 1 ogni 60 secondi per otto volte. puoi
adattarla come vuoi ciao
For I = 60 To 68
Dim TempoIniziale As Long
TempoIniziale = Timer
Application.Run "Cartel2!MACRO1"
While Timer < (TempoIniziale + I)
DoEvents
Wend
Next I
End Sub | |
|
| di Mauro |
Grazie al metodo ontime è possibile lanciare una
routine ad una determinata ora. usato in ricorsione si può
pianificare ogni tot di tempo.
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:15"), "my_proc"
End Sub
Private Sub my_proc()
MsgBox "visualizza il messaggio dopo 15 secondi"
Application.OnTime Now + TimeValue("00:00:15"), "my_proc"
End Sub | |
|
| Auto run di Max |
La mia ignoranza e' tale che mi serve un ulteriore
aiuto, il nome della mia macro e quote quando vado a sostituire il
nome quote con my_proc, mi appare un messaggio the macro
"c:\documentandsetting\max1\desktop[quote.xls]quote" cannot be
found. che cosa devo fare.
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:15"), "my_proc"
End Sub
Private Sub my_proc()
MsgBox "visualizza il messaggio dopo 15 secondi"
Application.OnTime Now + TimeValue("00:00:15"), "my_proc"
End Sub
| |
|
| Ciao max di Apoben64 |
Riprova così ! nella sezione scambio files ,
troverai il file sull'esempio del codice di mauro.
se vuoi
approfondire il tema ti consiglio di andare a vedere questo link:
http://ennius.altervista.org/mike/procedure/mikevba111.htm
ciao, e facci sapere !
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:15"), "my_proc"
End Sub
Private Sub my_proc()
MsgBox "visualizza il messaggio dopo 15
End Sub
| |
|
| Auto run di Max |
Sono un disastro, provo quello che mi suggerite ma
non riesco proprio a farla partire, l'unica cosa e: sub
worksheet_calculate() updatebars end sub
cosi'mi
aggiorna le mie quotazione automaticamente, non mi pareva vero con
una cosa cosi' stupida, poi mi sono accorto che non funziona bene,
lanciando la macro "updatebars" io ho una serie di dati di borsa a 5
minuti e l'ultima barra si aggiorna automaticamente tramite un dde
link. ma come tocco una cella col mouse la stessa lista mi parte da
quella cella e cosi' se seleziono con il mouse la cella accanto,
sovrapponendomi le liste creando un casino. cosi'ora aggiorno
automaticamente ma non posso lavorarci sopra in nessun caso. ho
provato anche i suggerimenti che mi avete dato ma niente da fare.
????? grazie a tutti
|
|
| Per max di Apoben64 |
Ciao, in primis volevo chiederti se avevi visionato
il link che ti ho segnalato e scaricato l'esempio sulla base del
codice di mauro. in secundis ti allego questo codice che io uso
un file in cui ho parecchi query web e dati da scaricare , e può
fare al caso tuo. questa macro non fà altro che all'apertura del
tuo file (evento workbook_open(), ogni 10 minuti,( ma è un dato che
puoi cambiare) ti lancia la tuamacro , che scarica i dati. prova
, se hai dei problemi , allega il tuo file nella sezione scambio
files e vediamo cosa possiamo fare !.
Private Workbook_open()
Call Tempo
End Sub
Sub Tempo()
Dim pausetime, start
pausetime = 1200 ' secondi di attivazione in questo caso 10 minuti
start = Timer
Do
DoEvents
If Timer > start + pausetime Then
Call TuaMacro ' metti il nome della tua macro
start = Timer
End If
Loop
End Sub
| |
|
|