Microsoft Office Excel |
|
|
Složeno kopiranje datotekaNivo:
Klasična teza po kojoj VBA predstavlja logičan nastavak Excela i u ovom primeru dobija potvrdu. Pogledajte kako se rešava složena distribucija sadržaja iz jedne u više radnih svezaka. U jednoj diskusionoj grupi sam pronašao sjajnu raspravu o pripremi veće količine datoteka za distribuciju saradnicima. Problem je sledeći: postoji složena radna sveska sa mnogo listova. Svakom saradniku bi trebalo uputiti novu radnu svesku, ali tako da se u njoj nalazi jedan zajednički radni list, zatim radni list koji se odnosi na saradnika i (što je poseban problem) sadržaj modula sa nekim namenskim makroima. Ako se ovo radi ručno, potroši se prilično vremena, pa ćemo videti kako se proces može automatizovati. Rešenje problema vidite u sledećem makrou. Da bismo pojednostavili primer, napravićemo pripremne sadržaje. U polaznoj radnoj svesci postoje radni listovi po imenima: Tabela, Pera, Mika i Laza; makroi koje treba preneti se nalaze u modulu pod generičkim imenom Module1. Ubacićemo još jedan list po imenu Spisak, u čiju kolonu A (počev od A1) ćemo upisati tačna imena posebnih radnih listova koje treba izvesti. Još jedna prečica (zbog jednostavnijeg koda) je ona u kojoj For...Next petlja ima unapred poznati broj ciklusa. Da se u ciljne radne sveske ne bi preneo i ovaj makro, koji će ostati u polaznoj radnoj svesci, potrebno je staviti ga u novi modul (Insert / Module u VBE), pazeći da mu ime bude drugačije od Module1. Sub Distribucija() Makro će najpre izvesti radni modul u posebnu datoteku (c:\modul.bas na disku), pa u petlji formirati novu radnu svesku od odabranih radnih listova (primetite red Sheets.Array(...).Copy), uvesti u nju modul sa diska, a potom je snimiti i zatvoriti pod imenom koje odgovara imenu saradnika. Ciljne datoteke ćete pronaći u istom folderu gde se nalazi i polazna datoteka. Naravno, ovaj prosti kostur možete dodatno "iskomplikovati", posebno programirajući ime ciljne datoteke, automatizujući unapred nepoznati broj radnih listova za izvoz (npr. od trećeg do poslednjeg lista, koliko god da ih ima) i slično.
|
|
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. |