Microsoft Office Excel
uređuje Dragan Grbić

Bookmark and Share
Matična strana sajta
  Novo na sajtu
  Mapa sajta
  Beleške
  Kontakt
  Pretraga MSKB

 Blog Praktikuma
  RSS feed
  P@W @Tw

  Izvezi stranicu u PDF
 
Office Praktikum

Još o Excelu
 


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

 
       

Sponzori sajta

SBB CS 1.6 game server: 82.117.200.1
 
Connectivity by SBB

 


 

Informacije

NOVOSTI

I još dva nova priloga o Excelu
Novi prilozi o Wordu
Novi i prilozi u temi "razno o Officeu"
Novi članci o novostima u Officeu 2010!

SADRŽAJI ZA PREUZIMANJE

Lokalizacija Total Commandera 7.51Obe jezičke školjke za popularni program na srpskom sad funkcionišu u bilo kojoj varijanti Windowsa!
RNDalica.ExcelDodatak za Excel 2007/2010 za generisanje slučajnih podataka!
YuConv.ExcelDodatak za Excel 2007/2010 za konverziju pisama!
YuConvNetDodatak za Word 2007/2010 za konverziju pisama i kodnih rasporeda!

SKREĆEMO PAŽNJU

Kako pretraživati MSKB
a pronaći ćete i još mnogo novih sadržaja...

KONTAKT

Da li znate za pravila koja važe pri kontaktu sa nama? Molimo vas da se obavestite o tome!
 
POZIVAMO VAS

i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.

  (C) 2000-2010 Praktikum na Webu
 

Novi sistem za zajedničke makroe

Nivo:  NIVO 3 - klinite za objašnjenje


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, što je zgodno za fakture. Kolega je pritom angažovao Personal Macro Workbook, kako bi jedna instanca funkcije radila u svim otvorenim radnim sveskama, što je bio promišljen potez. Međutim, iz nekog razloga koji nije bio jasan, nakon nedavnog prelaska na Excel 2007, i bez obzira na valjano kreiranje nove datoteke PERSONAL.XSLB, funkcija nije bila podrazumevano raspoloživa u svakoj novoj radnoj svesci.

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!

 

  (C) 2000-2010 Praktikum na Webu

PC 164


 
 

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.