Bu dosya, bir UserForm penceresinde bulunan etikette bugünün tarihini, gün adını ve saati her saniye otomatik güncelleyen çalışan bir örnektir. Kendi formlarına anlık saat eklemek isteyenler için hazır bir yapı sunar.
Dosyanın içeriği
- Sheet1: B2 hücresinde dosyanın başlığı yer alır. Sayfada formül, tablo veya grafik bulunmaz.
- UserForm1: Üzerinde Label1 adlı etiketin bulunduğu form. Tarih ve saat bu etikette gösterilir.
- Module1: Zamanlayıcı API tanımlarını ve makroları barındıran modül.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kod zararlı bir işlem yapmaz; yalnızca Windows'un user32 kütüphanesindeki zamanlayıcı fonksiyonlarını kullanır.- FormAc: UserForm1 formunu açar. Makro listesinden çalıştırılır.
- UserForm_Activate: Form açıldığında FindWindow ile formun pencere kimliği bulunur, ardından SetTimer ile 1000 milisaniyelik (1 saniye) bir zamanlayıcı başlatılır.
- Timer: Zamanlayıcı her tetiklendiğinde Label1 etiketine "dd/mmmm/yyyy dddd hh:mm:ss" biçiminde güncel tarih ve saati yazar.
- UserForm_Terminate: Form kapatıldığında KillTimer ile zamanlayıcıyı durdurur.
Nasıl kullanılır
- Dosyayı açın ve güvenlik uyarısında makroları etkinleştirin.
- Alt+F8 tuşlarıyla makro listesini açın, FormAc makrosunu seçip çalıştırın.
- Açılan formda tarih ve saat her saniye kendiliğinden güncellenir.
- Formu kapattığınızda zamanlayıcı otomatik olarak durdurulur.
- Kendi çalışmanıza uyarlamak için Alt+F11 ile VBA düzenleyicisini açıp UserForm1 ve Module1 içeriğini kendi projenize aktarın; etiket adı Label1 olarak korunmalıdır.