Olaylara Genel Bakış
Eventlerle, biz Excele "şu olduğunda şu kodu çalıştır" demiş oluruz. Buradaki "şu kod" dediğimiz prosedürlere Event Handler prosedürleri denir. Bu prosedürleri yazmak temel olarak normal bir prosedür yazmaya benzer fakat iki farklı yönü vardır.
Bunlar, kendileriyle ilişkili olan nesnenin modülün (Workbook, worksheet) içine yazılır, yani standart bir modül içine yazılmazlar. Bu kuralın 3 istisnası vardır:
- Standart bir modül içine konan nesne olmayan olaylar (OnTime and OnKey)
- Application eventleri
- Class modüllerine yazılan Chart (sayfa içindeki gömülü olanlardan) eventleri
Özel yazım syntaxları vardır:
- Nesne adını takiben "_" işareti
- Eventin adı
- (Varsa argümanlar)
Örnekler: Workbook_Open()
, Worksheet_Change(ByVal Target As Range)
Tabi bunların özel yazım syntaxı var diyorum ama genelde bunları elle yazmayız. Mesela Projects penceresinde ThisWorkbook seçiliyken (çift tıkla seçilmesi gerekir) aşağıdaki resimde göründüğü gibi soldaki nesneler ComboBox'ına tıklanıp General olan seçimi,
aşağıdaki gibi Workbook yapınca otomatikman aşağıdaki prosedür oluşacaktır. Sağdaki prosedür ComboBox'ına tıklandığında da diğer eventleri görebilirsiniz.
Kategoriler
- Workbook Olayları
- Worksheet Olayları
- Chart Olayları
- UserForm Olayları
- Worksheet Kontrol Olayları (Form ve ActiveX)
- Application Olayları
- Özel Olaylar
- Belli bir nesneyle ilişkili olmayan olaylar (Bunlar Application.OnTime ve Application.OnKey gibi belirli bir zamanda veya bir tuşa basıldığında meydana gelen olaylardır. İkisi için de Application nesnesiyle ilgili sayfaya bakabilirsiniz)