• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Application.OnTime

  • Konbuyu başlatan Konbuyu başlatan weaver
  • Başlangıç tarihi Başlangıç tarihi
Katılım
14 Ekim 2004
Mesajlar
10
Daha önce "çalışması duran eklenti" ile bir sorunuma forumda cevap aramıştım. Bu sorun eklentinin kendini tekrar çalıştıramamasıydı. Daha sonra kendim bir çözüm buldum. Koddaki "Application.OnTime" satırını en başa aldım ve artık çalışmasında herhangi bir problem yok.
Fakat takıldığım başka bir nokta var.

"Application.OnTime Now + TimeValue("00:00:60")" bu satırdaki 60 saniyelik tekrarlama süresini kodlamayı elle ayarlamaya gerek kalmadan değişken hale getirmeye çalışıyorum.

Ã?rnek olarak;

Sub deneme()
Dim zaman as integer
zaman = 100 'Ã?rnektir. Bu değer başka bir dosyadan alınacaktır.
Application.OnTime Now + TimeValue("00:00:00")

'yukarıdaki satırda TimeValue kısmına saniyeyi ifade eden "zaman"
'değişkenini nasıl entegre ederiz.

End Sub
 
denemedim ama şöyle bir şey olabilir;

Dim zaman As String
zaman = "00:00:10"
Application.OnTime Now + TimeValue(zaman)
 
Size Bu Ã?rnek Fikir verebilir.Kendi çalışmanıza derlersiniz.
A1 Hücresine İstediğiniz zamanı atarsınız.Tabii A1 Hücresini ss:dd:nn biçimlendirmeniz gerek.
Kod:
Sub basla()
Application.OnTime Now + [a1], procedure:="Mesaj"
End Sub
Sub Mesaj()
MsgBox "deneme"
End Sub
 
Sayın Raider ilginiz için teşekkürler.

Dediğiniz şekilde yapılabilir. Ben kodlamayı gereksiz yere uzatmak istemedim. Yani 100 saniyeyi; 1 dakika 40 saniye olarak çözümlemek ve değişkene aktarmak yerine Format(time + zaman, "hh:mm:ss") gibi denemeler yaptım fakat çalıştıramadım.

Formatları birbirine eklemeyle ilgili fikri olan arkadaşların önerilerini bekliyorum.

İyi akşamlar...
 
Sayın xxrt eklentiyi bitirmeye çalıştığım için sizi biraz geç farkettim.

Sanırım saniye olayını bir kenara bırakıp sayın Raider ve sizin dediğiniz şekilde bunu çözmeye çalışıcam. Tekrar teşekkürler.
 
aşağıdaki kod 60 sn'lik bekleme gerçekleştiriyor,belki size faydası olur

selamlar

Bekleme_Suresi = 60
bekleme = Timer
Do
Loop While (Timer - bekleme) < Bekleme_Suresi
 
"Application.OnTime Now + TimeValue("00:00:60")" bu satırdaki 60 saniyelik tekrarlama süresini kodlamayı elle ayarlamaya gerek kalmadan değişken hale getirmeye çalışıyorum.

Ã?rnek olarak;

Sub deneme()
Dim zaman as integer
zaman = 100 'Ã?rnektir. Bu değer başka bir dosyadan alınacaktır.
Application.OnTime Now + TimeValue("00:00:00")

'yukarıdaki satırda TimeValue kısmına saniyeyi ifade eden "zaman"
'değişkenini nasıl entegre ederiz.

Kod:
Dim zaman as integer 
zaman = 100 'Ã?rnektir. Bu değer başka bir dosyadan alınacaktır. 
Application.OnTime Now + TimeSerial(0, 0, zaman)
 
Sayın Alpen TimeSerial işe yaradı. Teşekkürler.
 
Geri
Üst