Ako používať funkcie doplnku programu Excel vo VBA

Obsah:

Anonim

Ak ste vytvorili doplnok, ktorý bude obsahovať vaše vlastné funkcie programu Excel, mohli ste zistiť, že aj keď tieto funkcie fungujú v pracovnom hárku programu Excel, nemôžete ich použiť vo svojich postupoch VBA v iných zošitoch. Akoby editor jazyka Visual Basic nemohol viď ich. No to je preto, že to nemôže! Tento článok vysvetľuje, ako to môžete opraviť.

V prvom rade zvážte, či je to skutočne to, čo chcete robiť. Doplnky sú určené predovšetkým na pridanie ďalších funkcií do vašich zošitov. Keď načítate doplnok Excel, jeho funkčnosť bude okamžite dostupná pre všetky vaše zošity. Ak vytvoríte postup VBA, ktorý závisí od vlastnej funkcie obsiahnutej v inom zošite, tento iný zošit by musel byť otvorený vždy, keď budete chcieť použiť jeho funkciu. To isté platí pre vlastnú funkciu v doplnku. Ak je doplnok načítaný, je to v poriadku, ale predpokladáme, že zošit pošlete niekomu inému alebo ho distribuujete do svojej pracovnej skupiny. Nezabudnite tiež distribuovať doplnok. Zahrnutie kópie funkcie do kódu zošita môže byť jednoduchšie, aby k nej mali vaše postupy priamy prístup (možno budete musieť vytvoriť Súkromná funkcia alebo zmeňte jeho názov, aby ste predišli konfliktom s pomenovaním).

Nehovorím, nerob to. Musíte sa nad tým najskôr zamyslieť a ak ste si istí, že doplnok bude k dispozícii, potom pokračujte. Tu je návod, ako…

Kedy vzniká problém?

Píšem postup k jednému zo svojich pracovných zošitov. Vo svojom postupe chcem použiť RemoveSpaces funkciu, ktorú som pred chvíľou vytvoril a uložil do svojej Martinove funkcie Doplnok, ktorý je momentálne nainštalovaný v mojej kópii programu Excel. Keď sa však pokúsim spustiť svoj postup, zobrazí sa chyba.

Editor jazyka Visual Basic sa správa, ako keby funkcia neexistovala, ale ja viem, že existuje a vidím to, ak sa pozriem na kód vo svojom doplnku. V skutočnosti kód funguje dobre, ak ho spustím zvnútra svojho doplnku.

Na to potrebujem editor jazyka Visual Basic viď funkcie v mojom doplnku zvnútra modulu kódu a rôzne pracovný zošit.

Zadajte svojmu doplnku názov projektu VBA

Každý pracovný zošit má a Názov projektu VBA. Hovorí sa tomu VBAProject. Toto meno môžete zmeniť, ak chcete, ale normálne mi to neprekáža, pretože normálne na tom nezáleží.

Zaujímalo vás niekedy, prečo sú všetky pracovné zošity zobrazené vo formáte Prieskumník projektu panel vizuálneho základného editora sa nazýva "VBAProject"? Ak máte nainštalovaný niektorý z doplnkov spoločnosti Microsoft, uvidíte, že majú iný názov. Vývojári spoločnosti Microsoft uviedli svoje Analysis ToolPak Doplnok k názvu projektu VBA “funcres".

Prvá vec, ktorú musíte urobiť, je dať svojmu doplnku jedinečný názov projektu VBA. Dôvodom je, že sa na to budete v nasledujúcom kroku odvolávať týmto menom a ak existuje viac ako rovnakých názvov, editor Visual Basic nebude vedieť, ktorý použiť.

V Prieskumník projektu na paneli vyberte názov doplnku. Ak ešte nie je otvorený, zobrazte editor jazyka Visual Basic Okno vlastností. Uvidíte, že existuje iba jedna vlastnosť, názov. Zadajte iné meno a stlačte Zadajte. Budete sa musieť riadiť obvyklými pravidlami pomenovania pre VBA (t.j. žiadne nezákonné znaky a žiadne medzery). Uvidíte, že názov sa okamžite použije v priečinku Prieskumník projektu.

Teraz uložte zmeny vo svojom doplnku. Uistite sa, že je váš doplnok vybratý v priečinku Prieskumník projektu a vyber si Súbor> Uložiť.

Nastavte odkaz na doplnok

V tomto kroku oznámite zošitu, v ktorom chcete používať funkcie doplnku, že doplnok existuje. Urobíte to do Nastavenie referencie do doplnku. S touto technikou ste sa už mohli stretnúť, ak ste chceli napísať kód programu Excel a komunikovať s iným programom, akým je napr Výhľad alebo Prístup.

Ak je to vhodné, v tomto mieste reštartujte Excel. Dôvodom je, že váš premenovaný doplnok sa znova načíta a zoznam, ktorý sa vám zobrazí, sa obnoví. Ak vám to nie je pohodlné, neobťažujte sa … prečítajte si nasledujúci odsek a rozhodnite sa, čo chcete urobiť.

V zošite otvorte modul kódu, v ktorom chcete používať funkcie doplnku, a potom prejdite na Nástroje> Referencie otvoriť Referencie dialógové okno, v ktorom uvidíte zoznam všetkých knižníc a ďalších objektov (napríklad doplnkov), na ktoré môžete nastaviť referenciu. Ak reštartujete program Excel, tento zoznam sa obnoví a budete môcť nájsť názov projektu, ktorý ste zadali svojmu doplnku v poslednom kroku. Začiarknite políčko vedľa mena a kliknite na tlačidlo OK tlačidlo.

Ak ste nereštartovali Excel, budete musieť nájsť svoj súbor doplnku kliknutím na Prehliadať tlačidlo na Referencie dialóg. Tým sa otvorí Pridajte referenciu okno. Zmeniť Súbory typu: časť do Súbory Microsoft Excel (*. Xls;*. Xla) potom prejdite do priečinka, kde je uložený doplnok.

Vyberte svoj doplnok a kliknite na Otvorené. Váš doplnok sa tak pridá do zoznamu, kde ho môžete vybrať a kliknúť OK.

POZNÁMKA: Oba tieto postupy nemusíte robiť! Vyberte jedno alebo druhé v závislosti od toho, či ste po zmene názvu projektu VBA doplnku reštartovali program Excel alebo nie.

Teraz budete môcť používať funkcie doplnku v ľubovoľnom module zošita, v ktorom nastavíte referenciu, a budú rozpoznané editorom jazyka Visual Basic…

Ak sa pozriete na Prieskumník projektu uvidíte, že na zošit bol aplikovaný odkaz …

Je dôležité mať na pamäti, že pridanie odkazu sa týka iba zošita, pre ktorý ste vykonali tento postup. Budete to musieť urobiť pre každý iný zošit, v ktorom chcete používať funkcie doplnku.

O distribúcii vašich súborov

Keď pridáte odkaz na doplnok, tento odkaz na doplnok bude do súboru „napevno zapojený“. Ak súbor presuniete na iný počítač alebo ho distribuujete svojim spolupracovníkom, zošit bude očakávať, že na svojich počítačoch nájde rovnaký doplnok na rovnakom mieste. Tiež, ak je doplnok presunutý alebo odstránený z počítača, zošit ho nemôže nájsť a váš kód nebude fungovať.

Niektorí ľudia zastávajú názor, že súbor a s ním spojený doplnok by mali byť vždy umiestnené v rovnakom priečinku, aby sa predišlo problémom, ktoré by to mohlo spôsobiť. Na vyriešenie problému môžete samozrejme znova nastaviť referenciu.

Vezmite tieto faktory do úvahy a nebudete mať problémy.