Kā izmantot Excel pievienojumprogrammas funkcijas VBA

Satura rādītājs:

Anonim

Ja esat izveidojis pievienojumprogrammu, kas satur jūsu Excel pielāgotās funkcijas, iespējams, esat atklājis, ka, lai gan funkcijas Excel darblapā darbojas labi, tās nevar izmantot savās VBA procedūrās citās darbgrāmatās. It kā Visual Basic redaktors nevarētu redzēt viņus. Nu tas ir tāpēc, ka nevar! Šajā rakstā ir paskaidrots, kā to novērst.

Vispirms apsveriet, vai tas tiešām ir tas, ko vēlaties darīt. Papildinājumi galvenokārt ir paredzēti papildu funkcionalitātes pievienošanai darbgrāmatām. Ielādējot Excel pievienojumprogrammu, tās funkcionalitāte nekavējoties kļūst pieejama visām jūsu darbgrāmatām. Ja izveidojat VBA procedūru, kas ir atkarīga no citas darbgrāmatas pielāgotās funkcijas, šai darbgrāmatai ir jābūt atvērtai ikreiz, kad vēlaties izmantot tās funkciju. Tas pats attiecas uz pielāgotu funkciju pievienojumprogrammā. Ja pievienojumprogramma ir ielādēta, tas ir labi, bet pieņemsim, ka nosūtāt savu darbgrāmatu kādam citam vai izplatāt to savai darba grupai. Jums ir jāatceras arī pievienojumprogrammas izplatīšana. Varētu būt vienkāršāk iekļaut funkcijas kopiju darbgrāmatas kodā, lai jūsu procedūrām būtu tai tieša piekļuve (iespējams, tas būs jādara Privāta funkcija vai mainīt tā nosaukumu, lai izvairītos no nosaukšanas konfliktiem).

Es nesaku, ka nedariet to. Jums vienkārši vispirms par to jādomā, un, ja esat pārliecināts, ka pievienojumprogramma būs pieejama, tad turpiniet. Lūk, kā…

Kad rodas problēma?

Es rakstu procedūru kādai no savām darbgrāmatām. Savā procedūrā es vēlos izmantot RemoveSpaces funkcija, kuru izveidoju pirms kāda laika un saglabāju savā Mārtiņa funkcijas Papildinājums, kas pašlaik ir instalēts manā Excel kopijā. Bet, mēģinot izpildīt procedūru, tiek parādīts kļūdas ziņojums.

Visual Basic redaktors uzvedas tā, it kā šī funkcija neeksistētu, bet es zinu, ka tā ir, un es to redzu, ja paskatos kodu savā pievienojumprogrammā. Faktiski kods darbojas labi, ja to palaižu no savas pievienojumprogrammas iekšpuses.

Man ir nepieciešams Visual Basic redaktors, lai to varētu redzēt funkcijas manā pievienojumprogrammā no a koda moduļa iekšpusē savādāk darba burtnīca.

Piešķiriet pievienojumprogrammai VBA projekta nosaukumu

Katrā darbgrāmatā ir a VBA projekta nosaukums. To sauc VBAProject. Jūs varat mainīt šo vārdu, ja vēlaties, bet parasti es neuztraucos, jo parasti tam nav nozīmes.

Vai esat kādreiz domājuši, kāpēc visas darbgrāmatas tiek parādītas Projektu pētnieks Visual Basic redaktora rūti sauc par "VBAProject"? Ja jums ir instalēta kāda no Microsoft pievienojumprogrammām, jūs redzēsit, ka tiem ir cits nosaukums. Microsoft izstrādātāji ir norādījuši savu Analīzes rīku pakotne Pievienojiet VBA projekta nosaukumu "funcres".

Vispirms jāpiešķir pievienojumprogrammai unikāls VBA projekta nosaukums. Tas ir tāpēc, ka nākamajā solī jūs uz to atsauksities ar šo nosaukumu, un, ja ir vairāk nekā viens ar tādu pašu nosaukumu, Visual Basic redaktors nezinās, kuru lietot.

Iekš Projektu pētnieks rūtī atlasiet pievienojumprogrammas nosaukumu. Ja tas vēl nav atvērts, parādiet Visual Basic Editor Rekvizītu logs. Jūs redzēsit, ka ir tikai viens īpašums Vārds. Ierakstiet citu vārdu un nospiediet Ievadiet. Jums būs jāievēro parastie VBA nosaukšanas noteikumi (t.i., nelegālas rakstzīmes un atstarpes). Jūs redzēsit, ka nosaukums tiek nekavējoties lietots Projektu pētnieks.

Tagad saglabājiet izmaiņas savā pievienojumprogrammā. Pārliecinieties, vai jūsu pievienojumprogramma ir atlasīta sadaļā Projektu pētnieks un izvēlēties Fails> Saglabāt.

Iestatiet atsauci uz pievienojumprogrammu

Šajā solī jūs darbgrāmatai, kurā vēlaties izmantot savas pievienojumprogrammas funkcijas, pastāstāt, ka pievienojumprogramma pastāv. Jūs to darāt līdz Atsauces iestatīšana pievienojumprogrammai. Jūs, iespējams, esat saskāries ar šo paņēmienu iepriekš, ja vēlaties rakstīt Excel kodu, lai sazinātos ar citu programmu, piemēram Outlook vai Piekļuve.

Ja tas ir ērti, šajā brīdī restartējiet programmu Excel. Tas notiek tāpēc, ka jūsu pārdēvētā pievienojumprogramma tiks atkārtoti ielādēta un saraksts, kuru jūs drīz redzēsit, tiks atsvaidzināts. Ja tas nav ērti, neuztraucieties… izlasiet nākamo rindkopu un izlemiet, ko vēlaties darīt.

Darbgrāmatā atveriet koda moduli, kurā vēlaties izmantot pievienojumprogrammas funkcijas, un pēc tam dodieties uz Rīki> Atsauces lai atvērtu Atsauces dialoglodziņš, kurā redzēsit sarakstu ar visām bibliotēkām un citiem objektiem (piemēram, pievienojumprogrammām), kuriem varat iestatīt atsauci. Ja esat restartējis programmu Excel, šis saraksts tiks atsvaidzināts, un jūs varēsit atrast projekta nosaukumu, kuru pēdējā solī norādījāt savai pievienojumprogrammai. Ievietojiet atzīmi lodziņā blakus nosaukumam un noklikšķiniet uz labi pogu.

Ja neesat restartējis programmu Excel, jums būs jāatrod pievienojumprogrammas fails, noklikšķinot uz Pārlūkot pogu uz Atsauces dialoglodziņš. Tas atver Pievienot atsauci logs. Nomaini Šāda veida faili: sadaļu līdz Microsoft Excel faili (*. Xls;*. Xla) pēc tam pārlūkojiet mapi, kurā tiek glabāta pievienojumprogramma.

Atlasiet savu pievienojumprogrammu un noklikšķiniet uz Atvērt. Tādējādi jūsu pievienojumprogramma tiek pievienota sarakstam, kurā varat to atlasīt un noklikšķināt labi.

PIEZĪME: Jums nav jāveic abas šīs procedūras! Izvēlieties vienu vai otru atkarībā no tā, vai pēc pievienojumprogrammas VBA projekta nosaukuma maiņas restartējāt programmu Excel.

Tagad jūs varēsit izmantot pievienojumprogrammas funkcijas jebkurā darbgrāmatas modulī, kurā iestatījāt atsauci, un tās atpazīs Visual Basic Editor …

Ja paskatās uz Projektu pētnieks jūs redzēsit, ka atsauce ir pievienota darbgrāmatai …

Ir svarīgi atcerēties, ka atsauces pievienošana attiecas tikai uz darbgrāmatu, kurai veicāt šo procedūru. Tas būs jādara katrai darbgrāmatai, kurā vēlaties izmantot pievienojumprogrammas funkcijas.

Par failu izplatīšanu

Kad pievienojat atsauci uz pievienojumprogrammu, šī saite uz pievienojumprogrammu ir "cieši savienota" failā. Ja pārvietojat failu uz citu datoru vai izplatāt to saviem kolēģiem, darbgrāmata sagaidīs, ka savos datoros atradīs to pašu pievienojumprogrammu tajā pašā vietā. Turklāt, ja pievienojumprogramma tiek pārvietota vai izdzēsta no datora, darbgrāmata to nevarēs atrast un jūsu kods nedarbosies.

Daži cilvēki iestājas par to, lai fails un ar to saistītā pievienojumprogramma vienmēr atrastos vienā mapē, lai izvairītos no problēmām, ko tas varētu radīt. Jūs, protams, varat vēlreiz iestatīt atsauci, lai novērstu problēmu.

Ņemiet vērā šos faktorus, un jums nebūs problēmu.