Tvinge kundene dine til å aktivere Excel-makroer

For å bruke en makro i Excel, må brukerne aktivere makroer. Det vil si at de må gi Excel tillatelse til å kjøre makroer i miljøet sitt. For å aktivere makroer, klikker brukere på Aktiver innhold-knappen i sikkerhetsadvarselen som dukker opp over formellinjen.

Tvinge kundene dine til å aktivere Excel-makroer

Poenget er at du kan skrive alle de fancy makroene i verden, men de vil aldri kjøre med mindre brukerne dine aktiverer makroer. Dette reiser spørsmålet; kan du tvinge brukere til å aktivere makroer? Svaret er ja – med litt lureri.

Ideen er relativt enkel. Du lager et ark som heter for eksempel START. Dette arket inneholder bare en enkel advarsel som sier at makroer må være aktivert. Deretter skjuler du alle arkene i arbeidsboken bortsett fra det START-arket. Til slutt skriver du en enkel makro som viser alle ark når arbeidsboken åpnes.

Tvinge kundene dine til å aktivere Excel-makroer

På dette tidspunktet, når arbeidsboken er åpnet, vil Excel be brukeren om å aktivere makroer. Brukere vil bli tvunget til å gjøre det fordi alt de vil se er startarket ditt. De andre arkene vil bli skjult!

For å få denne teknikken til å fungere, trenger du to makroer: En makro skjuler alt unntatt START-arket når arbeidsboken lukkes, og en annen makro som viser alle unntatt START-arket når arbeidsboken åpnes.

Først må du takle handlingene som må skje når arbeidsboken lukkes. :

Aktiver Visual Basic Editor ved å trykke ALT+F11 på tastaturet

I prosjektvinduet finner du navnet på prosjektet/arbeidsboken og klikker på plusstegnet ved siden av det for å se alle arkene.

Klikk på denne arbeidsboken.

I rullegardinlisten Begivenhet velger du FørLukk-hendelsen.

Tvinge kundene dine til å aktivere Excel-makroer

Skriv eller lim inn følgende kode:

Privat underarbeidsbok_BeforeClose(Avbryt som boolsk)
'Trinn 1: Deklarer variablene dine
  Dim ws As Worksheet
'Trinn 2: Vis startarket
  Sheets("START").Visible = xlSheetVisible
'Trinn 3: Begynn å gå gjennom alle regnearkene
  For hver ws In This Workbook.Worksheets
'Trinn 4: Sjekk navn på hvert regneark
  Hvis ws.Name <> "START" Da
'Trinn 5: Skjul arket
  ws.Visible = xlVeryHidden
  Slutt om
'Trinn 6: Gå til neste regneark
  Neste ws
'Trinn 7: Lagre arbeidsboken
  ActiveWorkbook.Save
End Sub

I trinn 1 erklærer du et objekt kalt ws for å lage en minnebeholder for hvert regneark du skal gå gjennom.

I trinn 2 sørger du for at START-arket er synlig.

I trinn 3 starter du loopingen, og forteller Excel at du vil evaluere alle regnearkene i denne arbeidsboken.

I trinn 4 sammenligner du ganske enkelt navnet START med arket som for øyeblikket sløyfes. Dette trinnet sikrer at handlingene som kommer neste blir brukt på alle ark unntatt START-arket.

Hvis arknavnene er forskjellige, skjuler du arket i trinn 5 ved å bruke egenskapen xlVeryHidden. Denne egenskapen skjuler ikke bare arket, men hindrer også brukeren i å vise det manuelt ved å bruke brukergrensesnittet.

Du går tilbake for å få neste ark i trinn 6.

I trinn 7, etter at alle arkene er evaluert, lagrer makroen arbeidsboken og avsluttes.

Nå må du skrive en makro for å håndtere alle handlingene som må skje når arbeidsboken åpnes:

Aktiver Visual Basic Editor ved å trykke ALT+F11.

I prosjektvinduet finner du navnet på prosjektet/arbeidsboken og klikker på plusstegnet ved siden av det for å se alle arkene.

Klikk på denne arbeidsboken.

I rullegardinlisten Begivenhet velger du Åpne hendelse.

Tvinge kundene dine til å aktivere Excel-makroer

Skriv eller lim inn følgende kode:

Privat underarbeidsbok_Open()
'Trinn 1: Deklarer variablene dine
  Dim ws As Worksheet
'Trinn 2: Begynn å gå gjennom alle regnearkene
  For hver ws In This Workbook.Worksheets
'Trinn 3: Vis alle regneark
  ws.Visible = xlSheetVisible
'Trinn 4: Gå til neste regneark
  Neste ws
'Trinn 5: Skjul startarket
  Sheets("START").Synlig = xlVeryHidden
End Sub

I trinn 1 erklærer du et objekt kalt ws for å lage en minnebeholder for hvert regneark du går gjennom.

I trinn 2 starter du loopingen, og forteller Excel at du vil evaluere alle regnearkene i denne arbeidsboken.

I trinn 3 viser du arket som for øyeblikket sløyfes. Dette trinnet viser effektivt alle regneark etter hvert som hvert ark blir synliggjort.

Du går tilbake for å få neste ark i trinn 4.

Etter at alle arkene er gjort synlige, skjuler trinn 5 START-arket. Igjen bruker du egenskapen xlVeryHidden slik at brukeren ikke vil kunne vise arket manuelt ved å bruke brukergrensesnittet.

Etter at begge makroene er implementert, vil du ha en arbeidsbok som bare fungerer hvis brukeren aktiverer makroer!


Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows Microsoft Word åpner filer i skrivebeskyttet modus, noe som gjør det umulig å redigere dem? Ikke bekymre deg, metodene er nedenfor

Hvordan fikse feil utskrift av Microsoft Word-dokumenter

Hvordan fikse feil utskrift av Microsoft Word-dokumenter

Slik fikser du feil ved utskrift av feil Microsoft Word-dokumenter Feil ved utskrift av Word-dokumenter med endrede fonter, rotete avsnitt, manglende tekst eller tapt innhold er ganske vanlig. Men ikke gjør det

Slett penn- og highlighter-tegninger på PowerPoint-lysbilder

Slett penn- og highlighter-tegninger på PowerPoint-lysbilder

Hvis du har brukt pennen eller merkepennen til å tegne på PowerPoint-lysbildene dine under en presentasjon, kan du lagre tegningene til neste presentasjon eller slette dem, slik at du neste gang du viser dem starter med rene PowerPoint-lysbilder. Følg disse instruksjonene for å slette penn- og merkepenntegninger: Slette linje én på […]

Style Library-innhold i SharePoint 2010

Style Library-innhold i SharePoint 2010

Stilbiblioteket inneholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og bilder som brukes av forhåndsdefinerte mastersider, sideoppsett og kontroller i SharePoint 2010. For å finne CSS-filer i stilbiblioteket til et publiseringsnettsted: Velg Site Actions→ View Alt innhold på nettstedet. Innholdet på nettstedet vises. Style-biblioteket ligger i […]

Formater tall i tusenvis og millioner i Excel-rapporter

Formater tall i tusenvis og millioner i Excel-rapporter

Ikke overveld publikum med gigantiske tall. I Microsoft Excel kan du forbedre lesbarheten til dashbordene og rapportene dine ved å formatere tallene dine slik at de vises i tusenvis eller millioner.

Hvordan dele og følge SharePoint-nettsteder

Hvordan dele og følge SharePoint-nettsteder

Lær hvordan du bruker SharePoints sosiale nettverksverktøy som lar enkeltpersoner og grupper kommunisere, samarbeide, dele og koble til.

Hvordan konvertere datoer til julianske formater i Excel

Hvordan konvertere datoer til julianske formater i Excel

Julianske datoer brukes ofte i produksjonsmiljøer som et tidsstempel og hurtigreferanse for et batchnummer. Denne typen datokoding lar forhandlere, forbrukere og serviceagenter identifisere når et produkt ble laget, og dermed alderen på produktet. Julianske datoer brukes også i programmering, militæret og astronomi. Forskjellig […]

Hvordan lage en Access Web App

Hvordan lage en Access Web App

Du kan lage en nettapp i Access 2016. Så hva er en nettapp egentlig? Vel, nettet betyr at det er online, og appen er bare en forkortelse for "applikasjon". En Custom Web App er en online databaseapplikasjon som du får tilgang til fra skyen ved hjelp av en nettleser. Du bygger og vedlikeholder nettappen i skrivebordsversjonen […]

Hurtigstartlinje i SharePoint 2010

Hurtigstartlinje i SharePoint 2010

De fleste sidene i SharePoint 2010 viser en liste over navigasjonskoblinger på hurtigstartlinjen langs venstre side av siden. Hurtigstartlinjen viser koblinger til innhold på nettstedet som lister, biblioteker, nettsteder og publiseringssider. Hurtigstartlinjen inneholder to svært viktige lenker: Linken for alt nettstedinnhold: […]

Hva betyr løserfeilmeldingene i Excel?

Hva betyr løserfeilmeldingene i Excel?

For enkle problemer finner Solver i Excel vanligvis raskt de optimale Solver-variabelverdiene for objektivfunksjonen. Men i noen tilfeller har Solver problemer med å finne Solver-variabelverdiene som optimerer objektivfunksjonen. I disse tilfellene viser Solver vanligvis en melding eller en feilmelding som beskriver eller diskuterer problemet som […]