Lai programmā Excel izmantotu jebkuru makro, lietotājiem ir jāiespējo makro. Tas nozīmē, ka viņiem ir jādod Excel atļauja palaist makro savā vidē. Lai iespējotu makro, lietotāji drošības brīdinājumā, kas tiek parādīts virs formulu joslas, noklikšķiniet uz pogas Iespējot saturu.
Būtība ir tāda, ka varat rakstīt visus pasaules iedomātākos makro, taču tie nekad nedarbosies, ja vien jūsu lietotāji neiespējos makro. Tas rada jautājumu; vai jūs varat piespiest lietotājus iespējot makro? Atbilde ir jā – ar nelielu viltību.
Ideja ir salīdzinoši vienkārša. Jūs izveidojat lapu ar nosaukumu, teiksim, SĀKT. Šajā lapā ir tikai vienkāršs brīdinājums, ka makro ir jāiespējo. Pēc tam darbgrāmatā tiek paslēptas visas lapas, izņemot šo START lapu. Visbeidzot, jūs ierakstāt vienkāršu makro, kas parādīs visas lapas, kad tiek atvērta darbgrāmata.
Šajā brīdī, kad darbgrāmata ir atvērta, programma Excel lūgs lietotājam iespējot makro. Lietotāji būs spiesti to darīt, jo viņi redzēs tikai jūsu sākuma lapu. Pārējās lapas tiks paslēptas!
Lai šī tehnika darbotos, ir nepieciešami divi makro: viens makro paslēpj visu, izņemot lapu SĀKUMS, kad darbgrāmata tiek aizvērta, un otrs makro, kas, atverot darbgrāmatu, paslēpj visu, izņemot START lapu.
Vispirms veiciet darbības, kas jāveic, kad darbgrāmata tiek aizvērta. :
Aktivizējiet Visual Basic redaktoru, nospiežot tastatūras taustiņu kombināciju ALT+F11
Projekta logā atrodiet sava projekta/darbgrāmatas nosaukumu un noklikšķiniet uz pluszīmes blakus tam, lai redzētu visas lapas.
Noklikšķiniet uz šī darbgrāmata.
Nolaižamajā lodziņā Notikums atlasiet notikumu BeforeClose.
Ierakstiet vai ielīmējiet šādu kodu:
Private Sub Workbook_BeforeClose (Atcelt kā Būla)
1. darbība: deklarējiet savus mainīgos
Dim ws kā darblapa
2. darbība: parādiet sākuma lapu
Sheets("SĀKUMS").Redzams = xlSheetVisible
3. darbība: sāciet pārlūkot visas darblapas
Katram ws šajā darbgrāmatā.Darblapas
4. darbība: pārbaudiet katras darblapas nosaukumu
Ja ws.Name <> "START" Tad
5. darbība: paslēpiet lapu
ws.Visible = xlVeryHidden
Beigas Ja
6. darbība: pārejiet uz nākamo darblapu
Nākamais vs
7. darbība. Saglabājiet darbgrāmatu
ActiveWorkbook.Save
Beigt apakš
1. darbībā jūs deklarējat objektu ar nosaukumu w, lai izveidotu atmiņas konteineru katrai darblapai, kuru pārskatīsit.
2. darbībā pārliecinieties, ka ir redzama START lapa.
3. darbībā jūs sākat cilpu, norādot programmai Excel, ka vēlaties novērtēt visas šīs darbgrāmatas darblapas.
4. darbībā jūs vienkārši salīdziniet nosaukumu START ar lapu, kas pašlaik tiek cilpa. Šī darbība nodrošina, ka nākamās darbības tiek piemērotas visām lapām, izņemot lapu START.
Ja lapu nosaukumi atšķiras, 5. darbībā lapa tiek paslēpta, izmantojot rekvizītu xlVeryHidden. Šis rekvizīts ne tikai paslēpj lapu, bet arī neļauj lietotājam to manuāli parādīt, izmantojot lietotāja interfeisu.
Atgriezieties atpakaļ, lai iegūtu nākamo lapu 6. darbībā.
7. darbībā pēc visu lapu novērtēšanas makro saglabā darbgrāmatu un beidzas.
Tagad jums ir jāraksta makro, lai veiktu visas darbības, kas jāveic, atverot darbgrāmatu:
Aktivizējiet Visual Basic redaktoru, nospiežot ALT+F11.
Projekta logā atrodiet sava projekta/darbgrāmatas nosaukumu un noklikšķiniet uz pluszīmes blakus tam, lai redzētu visas lapas.
Noklikšķiniet uz šī darbgrāmata.
Nolaižamajā lodziņā Notikums atlasiet Atvērt notikumu.
Ierakstiet vai ielīmējiet šādu kodu:
Privāta apakšdarbgrāmata_Open()
1. darbība: deklarējiet savus mainīgos
Dim ws kā darblapa
2. darbība: sāciet pārlūkot visas darblapas
Katram ws šajā darbgrāmatā.Darblapas
3. darbība: parādiet visu darblapu slēpšanu
ws.Visible = xlSheetVisible
4. darbība: pārejiet uz nākamo darblapu
Nākamais vs
5. darbība: paslēpiet sākuma lapu
Sheets("SĀKUMS"). Redzams = xlVeryHidden
Beigt apakš
1. darbībā jūs deklarējat objektu ar nosaukumu w, lai izveidotu atmiņas konteineru katrai darblapai, kurā veicat cilpu.
2. darbībā jūs sākat cilpu, norādot programmai Excel, ka vēlaties novērtēt visas šīs darbgrāmatas darblapas.
Veicot 3. darbību, tiek rādīta lapa, kurai pašlaik tiek veikta cilpa. Veicot šo darbību, tiek parādītas visas darblapas, jo katra lapa tiek padarīta redzama.
Atgriezieties atpakaļ, lai iegūtu nākamo lapu 4. darbībā.
Kad visas lapas ir padarītas redzamas, 5. darbība paslēpj lapu SĀKUMS. Atkal, jūs izmantojat rekvizītu xlVeryHidden, lai lietotājs nevarētu manuāli paslēpt lapu, izmantojot lietotāja interfeisu.
Kad abi makro būs ieviesti, jums būs darbgrāmata, kas darbosies tikai tad, ja lietotājs iespējos makro!