4 xeitos de protexer o código VBA (Visual Basic para aplicacións)

O código VBA que escribes é o corazón e a alma da túa folla de cálculo. Protexer o código VBA é algo que debes facer para garantir que o teu código non sexa roubado ou usado sen que o saibas. Esta publicación tratará algunhas formas diferentes de protexer o teu código VBA para que só TI poidas acceder a el facilmente.
Por que deberías preocuparte por protexer o código VBA?
VBA é unha linguaxe de macros que se pode usar para crear tarefas ou accións automatizadas en Excel, Word e PowerPoint. Hai varias razóns polas que debes protexer o teu código VBA:
- Para protexer o código VBA de cambios accidentais. O código VBA é unha ferramenta poderosa para os usuarios de Excel, pero tamén pode ser unha fonte de frustración para aqueles que non o usan. Se non protexes o VBA cun contrasinal, outras persoas que usen o teu libro poden acceder ao código e facer cambios nel sen saber o que están a facer realmente. Non queres depurar o código VBA porque pode ser doloroso: pode levar horas descubrir por que e aínda máis tempo!
- Para protexer a túa propiedade intelectual. O código VBA pode ser moi valioso para algunhas empresas. Se alguén accede á túa folla de cálculo e copia a funcionalidade que usas, podería facela pasar por traballo propio e vendela a moitas empresas. Protexe o teu valioso código fonte con medidas de seguridade. Non lle facilites a ninguén o roubo ou a copia.
- Para protexerte de que outras persoas usen o teu traballo. Se tes un anaco valioso de código VBA que facilita ou fai que o teu traballo sexa máis eficiente, quizais queiras protexelo só para uso persoal.
É importante ter en conta que existen varias maneiras diferentes de protexer o código VBA, pero non todas protexen o código do mesmo xeito. Depende de ti e do que consideres que é mellor para as túas necesidades.
#1 Protexer con contrasinal o código VBA dentro de Excel coa ferramenta VBAProject
Esta parte explica como podes usar a configuración de protección de proxectos VBA para protexer o teu código VBA de ollos indiscretos e mans manipuladoras nalgún nivel.
- Nivel de seguridade: Débil; Hai ferramentas como Eliminador de contrasinais VBA que se pode usar para desbloquear o contrasinal en minutos;
- Dificultade: Fácil;
- Custo: Gratis;
Paso 1. Selecciona "Visual Basic" no menú "Desenvolvedor" de Excel.

Paso 2. Para bloquear o proxecto VBA, fai clic en "Ferramentas" na barra e, a seguir, selecciona "Propiedades do proxecto VBA".

Despois de premer neste elemento do menú, deberías ver a seguinte caixa de diálogo:

A pestana "Xeral" está seleccionada por defecto, pero fai clic na pestana "Protección".
Paso 3. Marca "Bloquear proxecto para visualización" e, a seguir, escribe o teu contrasinal dúas veces en ambas as caixas e preme en "Aceptar".

Paso 4. Gardao e volve abrir o ficheiro de Excel. Poderás saber se a protección por contrasinal de VBA estaba activada correctamente facendo dobre clic no teu proxecto VBA. Ao protexer o teu proxecto VBA cun contrasinal, evitarase que alguén o modifique accidentalmente.

#2 Usa a ofuscación de VBA para protexer o teu código de macros
A ofuscación VBA é a arte de facer que o código VBA sexa ilexible pero aínda funcional. Modifica as macros existentes con varios niveis de ofuscación, o que dificulta a comprensión da lóxica subxacente. Os ofuscadores VBA avanzados usan unha serie de técnicas avanzadas de ofuscación, o que fai que o rastrexo inverso e a recuperación sexan considerablemente máis desafiantes.
- Nivel de seguranza: Medio; alguén aínda poderá dedicar o tempo e os recursos suficientes para recuperar o código;
- Dificultade: Moderada; Dependendo do nivel;
- Custo: Ofuscador VBA gratuíto /Premium;
Podes usar a ofuscación VBA xunto coa técnica número 1, que consiste en ofuscar primeiro e despois protexer o módulo cun contrasinal. Ten en conta que a ofuscación é irreversible, polo que debes facer unha copia de seguridade do ficheiro fonte antes de continuar. Lembra tamén que non se pode garantir que o código ofuscado se execute sen fallos. Próbao exhaustivamente antes de publicalo. Usa unha única parte do proxecto para ofuscar. Despois de que a primeira proba de ofuscación do módulo sexa exitosa, continúa coa segunda.
#3 Converter código VBA a biblioteca de ligazón dinámica (DLL)
Os compiladores como Visual C++ e Visual Basic producen aplicacións que son difíciles de descifrar. Isto débese a que o código se compila en ficheiros executables ou ficheiros de biblioteca de ligazóns dinámicas. Polo tanto, tamén podemos compilar o código VBA nun ficheiro de biblioteca de ligazóns dinámicas e logo usalo en Excel.
- Nivel de seguridade: Alto;
- Dificultade: Moderada;
- Custo: Gratis;
Este método de protección é moi recomendable, pero non está 100 % garantido. Para aprender a compilar, consulta as instrucións en VbaCompiler.com: 10 pasos para compilar código VBA nunha DLL nativa de Windows .

#4 Converter VBA a C ou C++
Traducir as túas macros a C ou C++ é máis difícil de aplicar enxeñaría inversa que a VBA. Se queres protexer o teu código, esta é a mellor maneira.
- Nivel de seguranza: Máximo; É case imposible obter o código sen os dereitos; Pero, de novo, non está 100 % garantido;
- Dificultade: Complicado e lento; debido a que VBA e C/C++ son linguaxes tan diferentes, é máis difícil xa que terás que investir moito esforzo.
Conclusión
Empregar macros é unha excelente maneira de simplificar o desenvolvemento de funcións avanzadas. Desafortunadamente, isto pon o teu código en risco de ser roubado ou copiado por outras persoas. O artigo describe métodos que podes usar para evitar que outros usuarios rouben ou manipulen o teu código VBA. Ten en conta que as proteccións de código VBA non son unha seguridade infalible, pero proporcionan certa protección contra atacantes casuais.



