|
Microsoft Office Excel |
|
|
Novi sistem za zajedničke makroeNivo:
U Excelu 2007 je umanjena važnost datoteke ličnih makroa PERSONAL.XLSB. Time što je sintaksa narušena, dovedeni smo pred svršen čin potrebe da se snalazimo. Pritom, Microsoft jeste objavio, ali nam nije skrenuo pažnju na to da je potrebno izvesti manevar sa ličnim programskim dodatkom koji preuzima operativnost biblioteke makroa... Kolega Milan Todorović mi se obraća za pomoć nakon što je u doživeo neprijatnost sa korisnički definisanom funkcijom koju odavno koristi. Šta se dogodilo: kolega je angažovao funkciju SLOVIMA za Excel koju je odavno pronašao na Praktikumu; ako se sećate, reč je o funkciji koja ispisuje broj slovima Dozvolite da vas najpre podsetim na mehanizam o kome je reč. Snimljeni ili zapisani VBA makro u Excelu oduvek možete da čuvate u matičnoj radnoj svesci ili da ga preusmerite u tzv. biblioteku zajedničkih makroa kako bi bio raspoloživ u svim radnim sveskama u profilu korisnika. To je bilo posebno zgodno za korisnički definisane funkcije (UDF), kojima bi postojeći skup funkcija bio proširen; čak bi i čarobnjak Paste Function mogao da vas sprovede kroz upotrebu tako napisane funkcije. Više informacija na tu temu ćete pronaći ovde Rekonstruisao sam dešavanje i uočio isti problem. Nisam se odmah snašao:; pošteno govoreći, moje lične potrebe za automatizacijom u Excelu su lokalnog karaktera, a poslednji put kad sam angažovao PERSONAL.XLS za račun klijenta, bilo je to u Excelu 2003. Stoga nisam ranije primetio da se ovo dešava. Problem je bio potencijalno alarmantan, ali mi je bilo sumnjivo i to da mi se do sada niko nije obratio sa opisom makar sličnog problema. Prema Marfijevom pravilu, najzanmljivija pitanja uvek dobijem kad sam u najvećoj gužvi sa poslom, pa sam kolegi Todoroviću poslao samo delimično rešenje, izvinjavajući se do daljeg. To ambulantno rešenje je pomalo nezgrapno, ali radi: umesto zapisa =SLOVIMA(A1), funkciju valja zapisati u obliku =personal.xlsb!SLOVIMA(A1) i ona će proraditi. To je daleko od udobnog, a posebno je nezgodno ako ste neka svoja postojeća rešenja vezali za zajedničke funkcije - moglo bi da se desi da vaše Excel aplikacije ili radne sveske iz arhive prestanu da budu funkcionalne. Srećom, postoji bolje rešenje i ono je takvo da ćete povratiti kompatibilnost svojih funkcija ako sve uradite kako valja. Na to rešenje mi je takođe ukazao kolega Todorović i to nakon što se sam pomučio i došao do njega drugim kanalima. Nesebično je podelio svoje saznanje sa mnom, pa ga delim i ja sa vama. Elem, Microsoft je još u prvim mesecima eksploatacije Excela 2007 pripremio rešenje za ovakve slučajeve i objavio ga na stranici Create Custom Functions in Excel 2007 No, hajde da vam objasnim kako da prilagodite neke detalje koji nisu pomenuti na toj stranici. Ceo trik sa novim mehanizmom je u tome da funkcije premestite u radnu svesku koju ćete pretvoriti u programski dodatak (add-in). Učinite ovako: otvorite novu radnu svesku, u njoj izbrišite sve radne listove osim jednog (neće vam biti potrebni), a zatim je sačuvajte pod nekim opisnim imenom, npr. Moje funkcije.xlsm (pazite: neophodno je da to bude tip radne sveske sa omogućenim makroima). Pređite u VBE (prečica Alt+F11). Ako do sada niste imali korisničke funkcije i procedure u radnoj svesci PERSONAL.XLSB, napravite novi modul, pa postavite sve funkcije u njega. Ako vidite PERSONAL.XLSB, razvijte njegovu strukturu u oknu Project, pa uhvatite mišem modul sa funkcijama i prevucite ga na Moje funkcije.xlsm; time ćete napraviti kopiju modula. Zatvorite VBE, a zatim pređite na ključni korak: sačuvajte radnu svesku kao programski dodatak. Otvorite dijalog za čuvanje navigacijom Office > Save As > Other Formats (Office > Sačuvaj kao > Drugi formati) i u padajućoj listi Save as type (Sačuvaj kao tip) birajte stavku Excel Add-in (Excel programski dodatak), sa ekstenzijom *.xlam. U tom času, program će vam predložiti podrazumevanu lokaciju za programske dodatke, što treba da prihvatite (tačna putanja zavisi od operativnog sistema koji koristite). Kada potvrdite čuvanje, zatvorite i radnu svesku, pa otvorite novu. Sad valja aktivirati programski dodatak: navigacijom Office > Excel Options > Add-Ins (Office > Excel Opcije > Programski dodaci) došite do panela na čijem dnu ćete u padajućoj listi birati stavku Excel Add-Ins (Programski dodaci za Excel), a zatim kliknite na susedno dugme Go (Idi); otvoriće se dijalog sa listom raspoloživih progrmaskih dodataka, a među njima će se naći i stavka Moje funkcije. Uključite polje za potvrdu, potvrdite izbor - i to je to. Od ovog časa, sve vaše funkcije su univerzalno raspoložive bez ikakvih dodataka u sintaksi poziva. Sada bi bilo pametno da uklonite staru datoteku ličnih makroa: zatvorite Excel, pa potražite datoteku PERSONAL.XLSB u grani vašeg profila (Windows XP: C:\Documents and Settings\<ime>; Vista/Windows 7: C:\Users\<ime>). Prilikom pretrage uključite vidljivost sakrivenih i sistemskih datoteka. Kad nađete staru datoteku, izbrišite je ili premestite na drugo mesto, jer je ubuduće više nećete koristiti. Kada bude zatrebalo da proširite svoju kolekciju ličnih makroa i funkcija, idite u VBE, pa uređujte sadržaj programskog dodatka po nahođenju. Bitno je da ne zaboravite još jedan detalj: da biste sačuvali promene, kliknite na dugme Save dok je još aktivno neko okno sa funkcijama unutar datoteke Moje Funkcije.XLAM. Ako ne budete to učinili, sve promene koje načinite u modulu programskog dodatka biće izgubljene. Zato - pažnja!
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2010; Valinor Design; sva prava pridržana. |