Dokumentera

4 sätt att skydda VBA-kod (Visual Basic for Applications).

VBA-koden som du skriver är hjärtat och själen i ditt kalkylark. Att skydda VBA-kod är något som bör göras för att se till att din kod inte blir stulen eller använd utan att du vet. Det här inlägget kommer att täcka några olika sätt att skydda din VBA-kod så att bara DU enkelt kan komma åt den.

Varför ska du bry dig om att skydda VBA-koden?

VBA är ett makrospråk som kan användas för att skapa automatiserade uppgifter eller åtgärder i Excel, Word, PowerPoint. Det finns flera anledningar till att du bör skydda din VBA-kod:

  • För att skydda din VBA-kod från att ändras av misstag. VBA-kod är ett kraftfullt verktyg för Excel-användare, men det kan också vara en källa till frustration för dem som inte använder den. Om du inte säkrar VBA med ett lösenord kan andra som använder din arbetsbok komma åt koden och göra ändringar i den utan att veta vad de faktiskt gör. Du vill inte felsöka din VBA-kod eftersom det kan vara smärtsamt – det kan ta timmar att ta reda på varför och sedan ännu mer tid!
  • För att skydda din immateriella egendom. VBA-kod kan vara mycket värdefull för vissa företag. Om någon annan får åtkomst till ditt kalkylblad och kopierar funktionen som du använder, kan de potentiellt lämna ut det som sitt eget arbete och sälja det till många företag. Skydda din värdefulla källkod med säkerhetsåtgärder. Gör det inte lätt för någon att stjäla eller kopiera.
  • För att skydda dig från människor som använder ditt arbete. Om du har en värdefull bit av VBA-kod som gör ditt arbete enklare eller mer effektivt, kanske du vill skydda den endast för personligt bruk.

Det är viktigt att notera att det finns flera olika sätt att skydda din VBA-kod, men inte alla skyddar din kod på samma sätt. Det är upp till dig och vad du tycker är bäst för dina behov.

#1 Lösenordsskydda VBA-kod i Excel med VBAProject Tool

Den här delen förklarar hur du kan använda VBA-projektskyddsinställningar för att skydda din VBA-kod från nyfikna ögon och manipulerande händer på någon nivå.

  • Säkerhetsnivå: Svag; Det finns verktyg som t.ex VBA Password Remover som kan användas för att låsa upp lösenordet på några minuter;
  • Svårighetsgrad: Lätt;
  • Kostnad: Gratis;

Steg 1. Välj "Visual Basic" från "Utvecklare"-menyn i Excel.

Öppna Visual Basic Panel från Excel Developer Tab

Steg 2. För att låsa ditt VBA-projekt, klicka på "Verktyg" i fältet och välj sedan "VBAProject Properties".

Välj VBAProject Properties för att ställa in lösenord

Efter att ha klickat på detta menyalternativ bör du se följande dialogruta:

Huvudgränssnittet för VBAProject-egenskaper

Fliken "Allmänt" är vald som standard, men klicka på fliken "Skydd".

Steg 3. Markera "Lås projekt för visning" och skriv sedan in ditt lösenord två gånger i båda dessa rutor och tryck på "OK".

Lås VBA-projekt för visning och ange lösenord för att skydda VBA-kod

Steg 4. Spara den och öppna Excel-filen igen. Du kommer att kunna se om VBA-lösenordsskyddet var korrekt aktiverat genom att dubbelklicka på ditt VBA-projekt. När du skyddar ditt VBA-projekt med ett lösenord kommer det att förhindra att någon ändrar sig av misstag.

Lösenord behövs för att visa VBA-kod

#2 Använd VBA Obfuscation för att skydda din makrokod

VBA-obfuskation är konsten att göra din VBA-kod oläsbar men fortfarande funktionell. Den modifierar dina befintliga makron med flera nivåer av obfuskation vilket gör det svårt att förstå den underliggande logiken. Avancerade VBA-obfuskatorer använder ett antal avancerade obfuskeringstekniker, vilket gör omvänd spårning och återställning betydligt mer utmanande.

  • Säkerhetsnivå: Medium; Någon kommer fortfarande att kunna ta sig tid och spendera tillräckligt med resurser för att återställa koden;
  • Svårighetsgrad: Måttlig; Beroende på nivå;
  • Kosta: Gratis VBA Obfuscator /Premie;

Du kan använda VBA-obfuskation tillsammans med #1-tekniken, som går ut på att först dölja och sedan säkra modulen med ett lösenord. Kom ihåg att fördunklingen är oåterkallelig, så gör en säkerhetskopia av källfilen innan du fortsätter. Kom också ihåg att den obfuskerade koden inte kan garanteras att den körs utan fel. Vänligen testa den noggrant innan du släpper den. Använd en enda del av projektet för att fördunkla. När det första modulobfuskeringstestet har lyckats, gå vidare till det andra.

#3 Konvertera VBA-kod till Dynamic-Link Library (DLL)

Kompilatorer som Visual C++ och Visual Basic producerar applikationer som är svåra att knäcka. Detta beror på det faktum att koden är kompilerad till körbara filer eller dynamiska länkbiblioteksfiler. Så vi kan också kompilera VBA-koden till en dynamisk länkbiblioteksfil och sedan använda den i Excel.

  • Säkerhetsnivå: Hög;
  • Svårighetsgrad: Måttlig;
  • Kostnad: Gratis;

Denna skyddsmetod rekommenderas starkt, men den är inte 100% garanterad. För att lära dig hur man kompilerar, se instruktionerna på VbaCompiler.com: 10 steg för att kompilera VBA-kod till inbyggd Windows DLL .

Excel-fil VBA-kodkompilering klar med VbaCompiler för Excel

#4 Konvertera VBA till C eller C++

Att översätta dina makron till C eller C++ är svårare att bakåtkonstruera än VBA. Om du vill skydda din kod är detta det bästa sättet.

  • Säkerhetsnivå: Högst; Det är nästan omöjligt att få koden utan rättigheterna; Men återigen, det är inte 100% garanterat;
  • Svårighetsgrad: Komplicerat och tidskrävande; Eftersom VBA och C/C++ är så olika språk, är det svårare eftersom du kommer att behöva investera mycket ansträngning.

Slutsats

Att använda makron är ett utmärkt sätt att effektivisera utvecklingen av avancerade funktioner. Tyvärr riskerar detta din kod att bli stulen eller kopierad av andra. Artikeln diskuterar metoder du kan använda för att förhindra andra användare från att stjäla eller manipulera din VBA-kod. Observera att VBA-kodskydden inte är skottsäker, men det ger visst skydd mot tillfälliga angripare.

Bild på Susanna

Susanna

Susanna är innehållsansvarig och skribent för Filelem. Hon har varit en erfaren redaktör och boklayoutdesigner i många år och intresserad av att prova och testa olika produktivitetsprogram. Hon är också ett stort fan av Kindle, som har använt Kindle Touch i nästan 7 år och burit Kindle nästan vart hon än går. För inte så länge sedan var enheten vid slutet av sitt liv så Susanna köpte gladeligen en Kindle Oasis.

Relaterade artiklar

Tillbaka till toppen-knappen