Norėdami naudoti bet kurią makrokomandą programoje „Excel“, jūsų vartotojai turi įjungti makrokomandas. Tai yra, jie turi suteikti Excel leidimą paleisti makrokomandas savo aplinkoje. Norėdami įjungti makrokomandas, vartotojai spusteli mygtuką Įgalinti turinį saugos įspėjime, kuris pasirodo virš formulės juostos.
Esmė ta, kad galite rašyti visas išgalvotas pasaulio makrokomandas, bet jos niekada nebus paleistos, nebent jūsų vartotojai įjungs makrokomandas. Tai kelia klausimą; ar galite priversti vartotojus įjungti makrokomandas? Atsakymas yra taip – su nedideliu gudrumu.
Idėja gana paprasta. Jūs sukuriate lapą pavadinimu, tarkime, PRADĖTI. Tame lape yra tik paprastas įspėjimas, kad makrokomandos turi būti įjungtos. Tada paslėpsite visus darbaknygės lapus, išskyrus tą START lapą. Galiausiai parašote paprastą makrokomandą, kuri atidarius darbaknygę išskleidžia visus lapus.
Šiuo metu, kai atidaroma darbaknygė, „Excel“ paprašys vartotojo įjungti makrokomandas. Vartotojai bus priversti tai padaryti, nes jie matys tik jūsų pradžios lapą. Kiti lakštai bus paslėpti!
Kad ši technika veiktų, jums reikia dviejų makrokomandų: viena makrokomanda paslepia visus, išskyrus START lapą, kai darbaknygė uždaroma, o kita makrokomanda, kuri atidarius darbaknygę paslepia visus, išskyrus START lapą.
Pirmiausia atlikite veiksmus, kurie turi įvykti uždarius darbaknygę. :
Suaktyvinkite „Visual Basic“ rengyklę paspausdami klaviatūros klavišus ALT+F11
Projekto lange raskite savo projekto / darbaknygės pavadinimą ir spustelėkite šalia jo esantį pliuso ženklą, kad pamatytumėte visus lapus.
Spustelėkite Ši darbo knyga.
Išskleidžiamajame lauke Įvykis pasirinkite įvykį BeforeClose.
Įveskite arba įklijuokite šį kodą:
Privati antrinė darbo knyga_Prieš uždarymą (Atšaukti kaip Būlio)
1 veiksmas: deklaruokite savo kintamuosius
Dim ws kaip darbalapis
'2 veiksmas: neslėpkite pradžios lapo
Lapai("PRAIDŽIA").Visible = xlSheetVisible
3 veiksmas: pradėkite peržiūrėti visus darbalapius
Kiekvienam ws Šioje darbaknygėje.Darbo lapuose
4 veiksmas: patikrinkite kiekvieno darbalapio pavadinimą
Jei ws.Name <> "START" Tada
5 veiksmas: paslėpkite lapą
ws.Visible = xlVeryHidden
Pabaiga, jei
6 veiksmas: pereikite prie kito darbalapio
Kitas ws
7 veiksmas: išsaugokite darbaknygę
ActiveWorkbook.Save
Pabaigos sub
1 veiksme deklaruojate objektą, vadinamą w, kad sukurtumėte atminties talpyklą kiekvienam darbalapiui, kurį peržiūrėsite.
2 veiksme įsitikinkite, kad START lapas yra matomas.
Atlikdami 3 veiksmą, pradedate kilpą, nurodydami Excel, kad norite įvertinti visus šios darbaknygės darbalapius.
4 veiksme jūs tiesiog palyginkite pavadinimą START su lapu, kuris šiuo metu yra kilpinamas. Šis veiksmas užtikrina, kad tolesni veiksmai būtų taikomi visiems lapams, išskyrus START lapą.
Jei lapų pavadinimai skiriasi, 5 veiksme paslėpsite lapą naudodami ypatybę xlVeryHidden. Ši savybė ne tik paslepia lapą, bet ir neleidžia vartotojui rankiniu būdu jo paslėpti naudojant vartotojo sąsają.
Grįžkite atgal, kad gautumėte kitą lapą atlikdami 6 veiksmą.
7 veiksme, įvertinus visus lapus, makrokomanda išsaugo darbaknygę ir baigiasi.
Dabar turite parašyti makrokomandą, kad galėtumėte atlikti visus veiksmus, kurie turi įvykti atidarius darbaknygę:
Suaktyvinkite „Visual Basic“ rengyklę paspausdami ALT+F11.
Projekto lange raskite savo projekto / darbaknygės pavadinimą ir spustelėkite šalia jo esantį pliuso ženklą, kad pamatytumėte visus lapus.
Spustelėkite Ši darbo knyga.
Išskleidžiamajame lauke Įvykis pasirinkite Atidaryti įvykį.
Įveskite arba įklijuokite šį kodą:
Privati antrinė darbaknygė_Open()
1 veiksmas: deklaruokite savo kintamuosius
Dim ws kaip darbalapis
2 veiksmas: pradėkite peržiūrėti visus darbalapius
Kiekvienam ws Šioje darbaknygėje.Darbo lapuose
3 veiksmas: neslėpkite visų darbalapių
ws.Visible = xlSheetVisible
4 veiksmas: pereikite prie kito darbalapio
Kitas ws
5 veiksmas: paslėpkite pradžios lapą
Lapai ("PRAIDŽIA"). Matoma = xlLabai paslėpta
Pabaigos sub
1 veiksme deklaruojate objektą, vadinamą w, kad sukurtumėte atminties talpyklą kiekvienam darbalapiui, kurį peržiūrite.
2 veiksme pradedate kilpą, nurodydami Excel, kad norite įvertinti visus šios darbaknygės darbalapius.
Atlikdami 3 veiksmą, paslėpsite lapą, kuris šiuo metu yra jungiamas. Šis veiksmas efektyviai parodo visus darbalapius, nes kiekvienas lapas tampa matomas.
Grįžkite atgal, kad gautumėte kitą lapą atlikdami 4 veiksmą.
Kai visi lapai tampa matomi, 5 veiksmas paslepia START lapą. Vėlgi, naudojate ypatybę xlVeryHidden, kad vartotojas negalėtų rankiniu būdu paslėpti lapo naudodamas vartotojo sąsają.
Įdiegę abi makrokomandas turėsite darbaknygę, kuri veiks tik tuo atveju, jei vartotojas įjungs makrokomandas!