web-dev-qa-db-fra.com

Verrouiller la macro Microsoft Excel

J'ai passé quelque temps à écrire une macro Excel qui pourrait rapporter de l'argent à de nombreuses entreprises.

Comment puis-je verrouiller la macro pour empêcher les personnes de voir la source/la transférer à d'autres personnes?

Merci

19
Dave

Protéger/Verrouiller le code VBA d'Excel :

Lorsque nous écrivons du code VBA, il est souvent souhaitable d’avoir le code de macro VBA non visible pour les utilisateurs finaux. C'est pour protéger votre intellectuel et/ou empêchez les utilisateurs de jouer avec votre code. Juste être conscient la capacité de protection d'Excel est loin de ce qui serait envisagé garantir. Il existe également de nombreux [outils] de récupération de mot de passe VBA à vendre sur le www.

Pour protéger votre code, ouvrez le classeur Excel et accédez à Outils> Macro> Visual Basic Editor (Alt + F11). Maintenant, à l'intérieur du VBE, allez dans Outils> Propriétés de VBAProject, puis cliquez sur l'onglet de la page Protection et cochez ensuite "Verrouiller le projet de l'affichage" puis entrez votre mot de passe et encore pour le confirmer. Après cela, vous devez enregistrer, fermez et rouvrez le cahier de travail pour que la protection prenne effet.

(C'est moi qui souligne)

On dirait que votre meilleur pari. Cela n'arrêtera pas les gens déterminés à voler votre code, mais c'est suffisant pour arrêter les pirates occasionnels.

N'oubliez pas que même si vous pouviez distribuer une copie compilée de votre code, rien ne pourrait empêcher les utilisateurs de le décompiler le.

15
Brian Beckett

Vous pouvez consulter ce nouveau produit à l’adresse http://hivelink.io , il vous permet de protéger correctement vos macros sensibles. 

Le système de mot de passe Excel est extrêmement faible - vous pouvez le résoudre en 2 minutes en utilisant simplement un éditeur HEX de base. Je ne recommanderais pas de compter sur cela pour protéger quoi que ce soit.

J'ai écrit un article complet sur ce sujet ici: Protection du code dans un classeur Excel?

9
stuzor

vous pouvez définir un mot de passe à votre code vba mais cela peut être assez facilement cassé.

vous pouvez également créer un addin et le compiler en un DLL . Voir ici pour plus d'informations. C'est au moins le moyen le plus sûr de protéger votre code.

Cordialement,

1
JMax

L'approche moderne consiste à s'éloigner de VBA pour le code important et à écrire un complément .NET géré en utilisant c # ou vb.net. Il existe de nombreuses ressources à cet effet sur le site Web et vous pouvez utiliser la version Express de MS Visual Studio

1

Générez une application protégée pour Mac ou Windows à partir de votre feuille de calcul Excel en utilisant OfficeProtect avec AppProtect ou QuickLicense/AddLicense. Vous trouverez une vidéo intitulée "Protect Excel Spreedsheet" sur www.excelsoftware.com/videos.

0
harold