4 спосабы абароны кода VBA (Visual Basic for Applications)

Код VBA, які вы пішаце, — гэта сэрца і душа вашай электроннай табліцы. Абарона кода VBA — гэта тое, што трэба рабіць, каб пераканацца, што ваш код не будзе скрадзены або выкарыстаны без вашага ведама. У гэтай публікацыі будуць разгледжаны розныя спосабы абароны вашага кода VBA, каб толькі ВЫ маглі лёгка атрымаць да яго доступ.
Чаму вам варта клапаціцца пра абарону кода VBA?
VBA — гэта макрамова, якую можна выкарыстоўваць для стварэння аўтаматызаваных задач або дзеянняў у Excel, Word, PowerPoint. Ёсць некалькі прычын, па якіх вам варта абараніць свой код VBA:
- Каб абараніць код VBA ад выпадковай змены. Код VBA — магутны інструмент для карыстальнікаў Excel, але ён таксама можа быць крыніцай расчаравання для тых, хто ім не карыстаецца. Калі вы не абараніце VBA паролем, іншыя карыстальнікі вашай кнігі змогуць атрымаць доступ да кода і ўнесці ў яго змены, не ведаючы, што яны насамрэч робяць. Не варта адладжваць код VBA, таму што гэта можа быць балючым — можа спатрэбіцца некалькі гадзін, каб высветліць прычыну, а потым яшчэ больш часу!
- Каб абараніць вашу інтэлектуальную ўласнасць. Код VBA можа быць вельмі каштоўным для некаторых кампаній. Калі хтосьці іншы атрымае доступ да вашай электроннай табліцы і скапіюе функцыянальнасць, якую вы выкарыстоўваеце, ён можа выдаць яе за сваю ўласную працу і прадаць яе многім кампаніям. Абараніце свой каштоўны зыходны код з дапамогай мер бяспекі. Не дазваляйце нікому лёгка красці або капіяваць яго.
- Каб абараніць сябе ад людзей, якія выкарыстоўваюць вашу працу. Калі ў вас ёсць каштоўны фрагмент кода VBA, які спрашчае або павышае эфектыўнасць вашай працы, то вы можаце абараніць яго толькі для асабістага карыстання.
Важна адзначыць, што існуе некалькі розных спосабаў абароны вашага кода VBA, але не ўсе яны абараняюць ваш код аднолькава. Гэта залежыць ад вас і ад таго, што, на вашу думку, найлепшым чынам адпавядае вашым патрэбам.
#1 Абарона паролем кода VBA ў Excel з дапамогай інструмента VBAProject
У гэтай частцы тлумачыцца, як выкарыстоўваць налады абароны праекта VBA, каб абараніць свой код VBA ад старонніх вачэй і несанкцыянаванага доступу.
- Узровень бяспекі: слабы; ёсць такія інструменты, як Праграма для выдалення пароляў VBA які можна выкарыстоўваць для разблакіроўкі пароля за лічаныя хвіліны;
- Складанасць: лёгкая;
- Кошт: бясплатна;
Крок 1. У Excel у меню «Распрацоўшчык» абярыце «Visual Basic».

Крок 2. Каб заблакаваць праект VBA, націсніце «Інструменты» на панэлі, а затым выберыце «Уласцівасці праекта VBA».

Пасля націскання на гэты пункт меню вы павінны ўбачыць наступнае дыялогавае акно:

Па змаўчанні выбрана ўкладка «Агульныя», але націсніце на ўкладку «Абарона».
Крок 3. Пастаўце галачку насупраць пункта «Заблакіраваць праект для прагляду», затым двойчы ўвядзіце пароль у абодва гэтыя палі і націсніце «ОК».

Крок 4. Захавайце яго і зноў адкрыйце файл Excel. Вы зможаце даведацца, ці была правільна ўключана абарона паролем VBA, двойчы пстрыкнуўшы па праекце VBA. Калі вы абараніце свой праект VBA паролем, гэта прадухіліць выпадковыя змены.

#2 Выкарыстоўвайце абфускацыю VBA для абароны вашага макраса
Абфускацыя VBA — гэта мастацтва зрабіць ваш код VBA нечытэльным, але пры гэтым функцыянальным. Яна змяняе вашы існуючыя макрасы з дапамогай некалькіх узроўняў абфускацыі, што ўскладняе разуменне асноўнай логікі. Пашыраныя абфускатары VBA выкарыстоўваюць шэраг перадавых метадаў абфускацыі, што значна ўскладняе зваротную трасіроўку і аднаўленне.
- Узровень бяспекі: сярэдні; хтосьці ўсё роўна зможа выдаткаваць час і рэсурсы на аднаўленне кода;
- Складанасць: сярэдняя; у залежнасці ад узроўню;
- Кошт: Бясплатны абфускатар VBA /Прэміум;
Вы можаце выкарыстоўваць абфускацыю VBA разам з метадам № 1, які заключаецца ў тым, каб спачатку схаваць, а потым абараніць модуль паролем. Калі ласка, майце на ўвазе, што абфускацыя незваротная, таму зрабіце рэзервовую копію зыходнага файла, перш чым працягваць. Таксама памятайце, што нельга гарантаваць, што абфускаваны код будзе выконвацца без памылак. Калі ласка, старанна праверце яго перад публікацыяй. Выкарыстоўвайце адну частку праекта для абфускацыі. Пасля таго, як першы тэст на абфускацыю модуля будзе паспяховым, пераходзьце да другога.
#3 Пераўтварэнне кода VBA ў бібліятэку дынамічнай кампенсацыі (DLL)
Такія кампілятары, як Visual C++ і Visual Basic, ствараюць праграмы, якія цяжка ўзламаць. Гэта звязана з тым, што код кампілюецца ў выканальныя файлы або файлы дынамічнай бібліятэкі. Такім чынам, мы таксама можам скампіляваць код VBA ў файл дынамічнай бібліятэкі, а затым выкарыстоўваць яго ў Excel.
- Узровень бяспекі: высокі;
- Складанасць: Сярэдняя;
- Кошт: бясплатна;
Гэты метад абароны вельмі рэкамендуецца, але ён не гарантуе 100% эфектыўнасці. Каб даведацца, як кампіляваць, глядзіце інструкцыі на сайце VbaCompiler.com: 10 крокаў для кампіляцыі кода VBA ў родную DLL-бібліятэку Windows .

#4 Пераўтварэнне VBA ў C або C++
Пераклад макрасаў у C або C++ складаней рэканструяваць, чым VBA. Калі вы хочаце абараніць свой код, гэта найлепшы спосаб.
- Узровень бяспекі: найвышэйшы; атрымаць код без правоў практычна немагчыма; Але зноў жа, гэта не гарантавана на 100%;
- Складанасць: складана і патрабуе шмат часу; паколькі VBA і C/C++ — гэта такія розныя мовы праграмавання, гэта больш складана, бо вам давядзецца прыкласці шмат намаганняў.
Выснова
Выкарыстанне макрасаў — выдатны спосаб спрасціць распрацоўку складаных функцый. На жаль, гэта падвяргае ваш код рызыцы крадзяжу або капіявання іншымі. У артыкуле абмяркоўваюцца метады, якія вы можаце выкарыстоўваць, каб прадухіліць крадзеж або змяненне вашага кода VBA іншымі карыстальнікамі. Звярніце ўвагу, што абарона кода VBA не з'яўляецца надзейнай, але яна забяспечвае пэўную абарону ад выпадковых зламыснікаў.



