Microsoft Office Excel
uređuje Dragan Grbić

 Office Praktikum | Mapa sajta 

 
Bookmark and Share
Matična strana sajta
Novo na sajtu
Mapa sajta
Beleške
Knjiga posetilaca
Kontakt

Prethodna stranica
Pretraga sajta
Pretraga MSKB

Blog Praktikuma
RSS feed 
 
Office Praktikum

Još o Excelu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

   

Sponzori sajta

  Connectivity by SBB
 
Connectivity by SBB

 

Informacije

NOVOSTI
Novi prilog o Wordu
Tri nova autorska članka
Četiri priloga o Accessu
Opis i uputstvo za alatku YuCirLat '08 (Word)

SADRŽAJ ZA PREUZIMANJE
YuCirLat '08 unapređena alatka za konverziju kodnih rasporeda u Wordu

SKREĆEMO PAŽNJU
Beleške: B(l)oga li ti tvoga!- prilog koji će nekog možda čak i da naljuti
Kako pretraživati MSKB
* a pronaći ćete i još mnogo novih sadržaja...

USKORO SERIJA ČLANAKA O OFFICEU 2010

POZIVAMO VAS
* i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.



  (C) 2000-2009 Praktikum na Webu
 

Periodično okidanje procedure

Nivo:  NIVO 4 - klinite za objašnjenje


Da li vam je ikada zatrebalo da neku proceduru u Excelu izvodite u pravilnim vremenskim razmacima? Excel raspolaže načinom da automatizujete periodično izvršavanje neke procedure.

Pretpostavimo da ste formirali neku tabelu koja povezuje spoljne sadržaje koji se često menjaju. Recimo, neka je to podatak o stanju neke robe u skladištu; ako se to stanje vrlo često menja, možda bi ste hteli da napravite signal koji vas upozorava na granične vrednosti. Ili prostiji primer: operateri unose neke sadržaje u druge radne sveske; tamo ste pripremili određeni indikator koji označava kada se unos završi, pa želite da saznate kada je tačno završen unos. Uz pretpostavku da postoji način i imate potrebna prava da čitate spoljne podatke koji se nalaze u bazi podataka, drugoj radnoj svesci ili nekom trećem izvoru, možete napraviti automatiku osvežavanja.

Metod koji se primenjuje u ovakvim zahvatima je iniciranje VBA događaja Ontime: u svojim makroima uvek možete definisati da se u određenom trenutku (u tačno vreme ili posle nekog odlaganja) izvrši imenovana procedura koju ste takođe definisali. Kada je reč o periodičnom izvođenju procedure, glavni trik je u tome da u glavnoj proceduri postoji okidač koji će opet pozvati nju samu, i tako u krug. Sledeći primer predstavlja šablon VBA koda koji može da posluži: ako već imate neku svoju proceduru za koju biste hteli da definišete ciklično izvršavanje, dodajte je na obeleženo mesto. Uočite klauzulu Application.Ontime pred kraj procedure Periodicno: to je ključni detalj koji određuje ponovno izvršenje procedure, u ovom primeru nakon jednog minuta. Da bi sve bilo po propisu, dodat je i jednostavni upravljač greškama (što je, načelno, takođe okidač događaja); ako se greška dogodi, ciklus periodičnog izvršavanja će biti prekinut.

' ---------------------
' periodična procedura,
' prvi put mora biti pokrenuta
' ručno ili posredstvom druge procedure
' ---------------------
Sub Periodicno()

' u slučaju greške, prekid
On Error GoTo greska

' ......................
' Ovde postavite svoju
' izvršnu proceduru
' ......................


' opciono: informacija o izvršenju
MsgBox "Procedura je izvršena", vbOK

' *** KLJUČ: sledeći okidač! ***
Application.OnTime Now + TimeValue("00:01:00"), "Periodicno"

Exit Sub

' ako se desi greška...
greska:
MsgBox "Greška u periodičnoj proceduri!", _
vbOKOnly + vbExclamation, "UPOZORENJE"

End Sub

Sad samo preostaje da odlučite kada i kako ćete proceduru pokrenuti prvi put. Najjednostavnije je da prvi put sami pokrenete makro, nakon čega će se on stalno izvršavati, Možete se pobrinuti i da mehanizam bude automatski iniciran pri otvaranju radne sveske. U tom slučaju, upotrebite makro Auto_Open:

' ---------------------
' prvo okidanje periodične procedure,
' izvršava se aftamacki (: pri otvaranju
' ---------------------
Sub Auto_Open()

' *** pokreni prvi put posle 30 sekundi ***
Application.OnTime Now + TimeValue("00:30:00"), "Periodicno"

' opciono, proceduru možete pozvati
' i da se izvrši odmah:
' Call Periodicno

End Sub

Da vas podsetim: to ime makroa je rezervisano u Excelu za procedure koje se izvršavaju pri otvaranju radne sveske. Da li ćete na tom mestu pozvati radnu proceduru odmah ili ćete definisati prvo odlaganje (koje ne mora biti jednako intervalu u "petlji"), vaša je stvar: upotrebite jednu ili drugu opciju prema potrebi.

 

  (C) 2000-2009 Praktikum na Webu

PC 98


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana.