Bu dosya, uzun süren bir makro işlemi sırasında kullanıcıya animasyonlu bir "yükleniyor" göstergesi sunan hazır bir UserForm örneğidir. Gösterge, Facebook tarzı bir yükleme ikonu biçimindedir ve kendi makrolarınıza uyarlanabilir.
Dosyanın içeriği
- exceldestek.com | exceldepo.com sayfası: A1:E10 aralığında yer alan, formül içermeyen tek çalışma sayfasıdır.
- Module1: Yükleme göstergesini başlatıp durduran form adlı örnek makroyu içerir.
- Loader1: Animasyonun gösterildiği UserForm'dur. Animasyon, formun içine gömülü HTML ve GIF görüntüsüyle oluşturulur.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.- form: Önce Loader1.StartFacebookLoader ile yükleme formunu açar, ardından 1'den 200000'e kadar bir döngü çalıştırır. Döngü içindeki DoEvents sayesinde form ekranda canlı kalır. İşlem bitince Loader1.StopFacebookLoader ile formu kapatır. Döngü, gerçek işleminizin yerini tutan örnek bir bekleme kodudur.
- Loader1 içindeki yordamlar: Running formun görünür olup olmadığını denetler ve gerekirse formu gösterir. UserForm_Initialize, UserForm_Activate ve UserForm_Terminate formun açılış ve kapanış aşamalarını yönetir. Pause bekleme süresi sağlar. UserForm_Activate animasyonlu GIF'i içeren HTML metnini oluşturur.
- Form penceresinin görünümü için User32 ve kernel32 kütüphanelerindeki FindWindow, SetForegroundWindow, GetWindowLong, SetWindowLong, SetLayeredWindowAttributes, DrawMenuBar ve GetTickCount API işlevleri tanımlanmıştır. Bunlar pencere stilini ve saydamlığı ayarlamak ile süre ölçmek içindir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Alt+F8 ile form makrosunu çalıştırın; yükleme animasyonu ekranda görünür.
- Kendi uzun süren işleminizde, işlem kodunuzu Call Loader1.StartFacebookLoader ve Call Loader1.StopFacebookLoader satırlarının arasına yerleştirin.
- Örnekteki 200000 adımlık döngüyü kaldırın; bekleme süresini değiştirmek için döngü üst sınırını düzenleyin.
- Göstergeyi başka bir dosyada kullanmak için Loader1 formunu VBA düzenleyicisinde o çalışma kitabına sürükleyin.