Miten voin tehdä sillain, että kun on tehnyt jonkin jutun, niin ohjelma ei anna tehdä sitä samaa hommaa vaikka 15 minuuttiin?
Ehkä järkevintä olisi toteuttaa se Time() funktiolla vaikka näin:
Dim viimeks As Integer
Private Sub Command1_Click()
'laitetaan taulukkoon taulukko aika erottimella :
taulukko = Split(Time, ":")
'Time=kellonaika
'jos Time on 17:52:43 niin
'taulukko(0)=17
'taulukko(1)=52
'taulukko(2)=43
If taulukko(1) - viimeks < 1 Then
MsgBox "viime suorituskerrasta on liian vähän aikaa"
Else
MsgBox "koodia..."
viimeks = taulukko(1)
End If
End SubEli tuo koodi tarkistaa aina kun commandbuttonia painetaan onko viime suorituskerrasta kulunut alle minuutti.
Jos tekeminen liittyy yksittäiseen aliohjelmaan, tee Static-tyyppinen muuttuja aika, jonka arvo säilyy aliohjelman eri kutsukerroilla. Jos aika on 0 (aliohjelmaa ei ole kutsuttu vielä kertaakaan) tai nykyhetken ja sen erotus minuutteina on suurempi kuin 15, haluttu asia tehdään. DateDiff-funktiosta: http://vb.ohjelmointiputka.net/?DateDiff
Private Sub Command1_Click()
Static aika As Date
If aika = 0 Or DateDiff("n", aika, Now) > 15 Then
MsgBox "Nyt tehtiin."
aika = Now
Else
MsgBox "Ei vielä!"
End If
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.