IZBORNIK HOME FORUM ACCESS EXCEL WORD  
 

HOME

   
5

EVENTS-DOGAĐAJI

5.1 Programiranje događaja
5.2 Događaj Open
5.3 Događaj NewSheet
5.4 Događaj BeforePrint
5.5 Događaji na nivou WorkSheet
5.6 Događaj BeforeRightClick
5.7 Događaji na nivou aplikacije
5.8 Događaji koji nisu pridruženi objektu
   
   
 

MICROSOFT EXCEL 2003 - VBE i VBA - Događaji u VBA, Events in VBA

Događaji u VBA u Excelu
(
Events in VBA)

Search This Web Site

Adsense sponzor






Programiranje događaja u VBA za Excel

Excel može pratiti veliki broj događaja koji se događaju tokom izvršenja. Ove događaje možemo klasificirati na:

• Događaje vezane za radne knjige Workbook . Primjeri ovih događaja su
Open
(radna knjiga je otvorena ili kreirana),
BeforeSave
(radna knjiga se treba snimiti),
BeforeClose
(radna knjiga treba da se zatvori) i
NewSheet
(dodavanje novog radnog lista).

• Događaje vezane za radne listove Worksheet . Primjeri ovih događaja su
Change
(ćelija radnog lista je promijenjena),
SelectionChange
(promjena selekcije na radnom listu) i
Calculate
(radna knjiga je ponovo proračunata).

• Događaje vezane za mape. Ovi događaji uključuju
Select
(objekt na mapi je selektiran) i
SeriesChange
(promjena vrijednosti podatka u sekvenci koja je grafički prikazana.

• Događaji vezani za aplikaciju. Ovdje imamo događaje
NewWorkbook
(nova radna knjiga je kreirana),
WorkbookBeforeClose
(bilo koja radna knjiga treba se zatvoriti),
SheetChange
(ćelija u bilo kojoj radnoj svesci je promijenjena).

Za praćenje događaja na nivou aplikacije, potrebno je koristiti modul  klase.

• Događaji vezani za korisničke forme. Ovdje su uključeni
Initialize
(događa se prije prikaza korisniče forme),
Click
(događa se kad se klikne CommandButton).

• Događaji koji nisu vezani za objekte. Ovdje imamo dva korisna događaja na nivou aplikacije,
OnTime
i OnKey, koji rade drugačije od ostalih događaja.

Procedure za upravljanje događajima (event-handler procedures) moraju biti smještene u okviru odgovarajućih modula.
Na primjer, procedure koje upravljaju događajima vezanim za radne knjige se smještaju u okviru ThisWorkbook modula,
a koje upravljaju događajima vezanim za radne listove se smještaju u okviru modula radne knjige (npr., Sheet1, Sheet2).

Svaka procedura za upravljanje događajima ima predodređeno ime, koje direktno ukazuje na događaj o kome se radi. Tako, na primjer, nije teško zaključiti o kojim se događajima radi iz imena Workbook_Open, Worksheet_Calculate, Chart_Activate.

VBE omogućava elegantan unos zaglavlja procedure iz padajućeg menija koji se aktivira sa vrha kodnog prozora odgovarajućeg modula. Na slici ispod je dat primjer odabira procedure Open vezane za tekuću radnu knjigu, koji se unosi u Window Code

Private Sub Workbook_Open()
End Sub

Ostatak procedure između naredbenih redaka je naravno naš kod.
Neke procedure za upravljanje događajima imaju argumente. Na primjer, ono što bi nam unio VBE pri odabiru procedure za upravljanje događajem NewSheet radne knjige je:

Private Sub Workbook_NewSheet(ByVal Sh As Object)
End Sub

gdje se novi radni list prosljeđuje kao argument (Sh). U ovom slučaju se Sh prosljeđuje kao tip Object jer, pored radnog lista, u pitanju može biti i mapni list. Nekoliko procedura za upravljanje događajima imaju Boolean argument nazvan Cancel, kojim se dati događaj može poništiti. Na primjer, procedura za upravljanje događajem BeforePrint radne knjige ima deklaraciju:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

gdje je vrijednost argumenta Cancel jednaka False. Ukoliko bi Cancel podesili na True u okviru procedure, otkazali bi printanje.

Događaj - Event u ThisWorkbook VBA za Excel

Događaji na nivou radne knjige (ThisWorkbook)

Događaji na nivou radne knjige su događaji koji se događaju u okviru određene radne knjige. Procedure za upravljanje ovim događajima smještaju se u kodni modul ThisWorkbook objekta. U tablici ispod pogledajte spisak jednog broja ovih događaja, uz akcije koja okidaju ove događaje.

Događaj  Akcija koja okida događaj 
Activate  Radna knjiga je aktivirana.
BeforeClose  Radna knjiga treba da se zatvori.
BeforePrint  Radna knjiga treba da se štampa ili pregleda sa Print Preview.
BeforeSave  Radna knjiga treba da se snimi.
Deactivate  Radna knjiga je deaktivirana.
NewSheet  Novi list je dodat u radnu knjigu.
Open  Radna knjiga je otvorena.
SheetActivate  Bilo koji radni list je aktiviran.
SheetCalculate  Bilo koja radna knjiga je proračunata ili ponovo proračunata.
SheetChange  Bilo koja radna knjiga je promijenjena.
SheetDeactivate  Bilo koja radna knjiga je deaktivirana. 
SheetSelectionChange  Selekcija na bilo kojoj radnoj knjizi je promijenjena. 
WindowActivate  Bilo koji prozor radne knjige je aktiviran. 
WindowDeactivate  Bilo koji prozor radne knjige je deaktiviran. 
WindowResize  Veličina bilo kojeg prozora radne knjige je promijenjena. 

Napomena: Ovo su događaji vezani za konkretnu radnu knjigu. Ukoliko želimo pratiti događaje vezane za sve radne knjige, tada radimo sa događajima na nivou aplikacije. (primjer uz dozvolu prenesen iz materijala sa predavanja prof. S.Đukanović)

Adsense sponzor



Adsense sponzor





Adsense sponzor



Ova web stranica koristi COOKIES - COPYRIGHT - 2011 - IvanC - ic.ims.hr