|
Microsoft Office PowerPoint |
|
|
Trajanje prezentacijeNivo:
Možete godinama koristiti neki program i misliti da ga dobro poznajete, pa da se jednog časa nađete u čudu kada ne možete brzo da otkrijete neku trivijalnu stvar. Da nisam osetio na svojoj koži ovo što mi se desilo pre nekog vremena, teško da bih poverovao koliko je važno: klijent je zahtevao tačno trajanje samostalno vođene prezentacije. Elem, dobio sam narudžbu da izradim jednu naizgled jednostavnu prezentaciju u PowerPointu. Naručilac je zamislio da sadržaj čini malo teksta i mnogo fotografija, a projekcija je trebalo da se sama izvršava na jednom javnom skupu. Pritom je naručilac insistirao na tačnom sadržaju i naglasio da prezentacija treba da traje tačno 30 minuta. Mislio sam da će sve ići jednostavno, jer sam prikladni dizajn za master slajda već imao na raspolaganju, kao i većinu materijala. Postojala je samo jedna "kvaka": nakon prvog pregleda materijala koji sam morao da spremim, na svoj užas sam utvrdio da treba da se izborim sa skoro tri stotine fotografija! Moje nastojanje da makar prepolovimo tu količinu nije urodilo plodom, pa sam odustao od rasprave i prihvatio se besomučnog kliktanja mišem; srećom, bilo je i tu dosta prečica i trikova, a o njima ću pisati drugom prilikom... Pravi problem je nastao kada je trebalo da uklopim sadržaj u zadato vreme. Postavio sam vremena od pet do sedam sekundi po slajdu na kojoj je fotografija, a 12-15 na onima koji sadrže tekst. Da pogledam koliko je to u zbiru... I tada, prvi put otkad koristim PowerPoint, shvatim da program nigde ne obezbeđuje tu informaciju! Uz dve-tri žvrljotine na papiru, utvrdim da sam pogodio manje-više tridesetak minuta i javim se naručiocu da je posao završen. U razgovoru saznam da me čeka "samo još" dvadesetak nekih skica, uz diskretno naglašavanje da moje "tridesetak" treba da bude tačno 30 minuta. Vrag je odneo šalu, shvatio sam tog časa, pa sam se latio posla. Jedno od načela VBA glasi "čega nema u izlogu, ima u radnji", pa sam posle izvesnog vremena završio sa makroom koji vidite u prilogu. Treba li da naglašavam da je isporučena prezentacija trajala tačno 1800 sekundi?
Sub TrajanjeProjekcije()
' inventar prezentacije
For Each slajd In ActivePresentation.Slides
popis = popis & slajd.SlideNumber & vbTab _
& slajd.SlideShowTransition.AdvanceTime _
& vbCrLf
ukupno = ukupno + _
slajd.SlideShowTransition.AdvanceTime
Next slajd
minnum = Int(ukupno / 60)
mintxt = minnum & " minuta "
seknum = ukupno Mod 60
sektxt = seknum & " sekundi"
MsgBox "Prezentacija traje " & mintxt & sektxt
' lokacija i naziv izlazne datoteke
izlaz = "D:\trajanje.txt"
' prenos sadržaja u datoteku
Open izlaz For Output As 1
Print #1, "Prezentacija traje " & mintxt & _
sektxt & " (" & ukupno & " sekundi)"
Print #1, vbCrLf & "Trajanje po slajdovima:"
Print #1, vbCrLf & popis
Close #1
' otvori datoteku u TXT editoru
Call Shell("Notepad.exe " & izlaz, vbNormalFocus)
End Sub
Prva verzija makroa se završila porukom na ekranu, ali sam kasnije dodao i promenljivu "popis" i izlaz u datoteku, kad je već bilo potrebno da makro prođe kroz svaki slajd da bi pročitao zadato vreme trajanja (u VBA zaista ne postoji metod da pročitate ukupno trajanje prezentacije!). To mi je dobro došlo da vas usput podsetim na tehniku rada sa tekstualnim datotekama iz VBA. Budete li imali sličnih potreba, obratite pažnju na nekoliko detalja. Najpre, pripazite na lokaciju izlazne datoteke; kod mene je to bio matični folder radnog diska. Drugi detalj je možda važniji: PowerPoint je ograničen mogućnošću da VBA moduli budu prisutni samo u datoteci prezentacije; možete napraviti programski dodatak, ali to je druga priča. Zato je poželjno da uklonite modul pre nego što isporučite prezentaciju, da pri pokretanju ne bi dolazilo do pojave dijaloga o bezbednosti rada makroa. Da biste to učinili, otvorite VBE (Alt+F11), pa u oknu Project u gornjem levom uglu obeležite mišem modul u kome se nalazi makro. Desnim klikom otvorite kontekstni meni, pa odaberite komandu Remove Module1; kada vas VBE upita Do you want to export Module1 before removing it? (želite li da izvezete modul pre nego što ga uklonite), odgovorite potvrdno i sačuvajte BAS datoteku modula; nikad se ne zna, možda će vam opet zatrebati nekom prilikom.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2011; Valinor Design; sva prava pridržana. |