protect - Bloquear la macro de Microsoft Excel
prompt excel vba (6)
Al igual que puede proteger con contraseña los libros de trabajo y las hojas de trabajo, puede proteger con contraseña una macro en Excel para que no se pueda ver (y ejecutar).
Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:
Primero , crea una macro simple que quieras proteger.
Range("A1").Value = "This is secret code"
A continuación , haga clic en Herramientas , luego Propiedades de VBAProject ...
Haga clic en Herramientas, Propiedades de VBAProject ...
- En la pestaña Protección , marque " Bloquear proyecto para ver " e ingrese una contraseña dos veces.
Introduzca una contraseña dos veces
Haga clic en Aceptar .
Guarde , cierre y vuelva a abrir el archivo de Excel. Intenta ver el código.
Aparecerá el siguiente cuadro de diálogo:
Contraseña protegida de ser vista
Aún puede ejecutar el código haciendo clic en el botón de comando, pero ya no puede ver ni editar el código (a menos que sepa la contraseña). La contraseña para el archivo de Excel descargable es "fácil".
- Si desea proteger con contraseña la macro para que no se ejecute, agregue las siguientes líneas de código:
Dim password As Variant password = Application.InputBox("Enter Password", "Password Protected") Select Case password Case Is = False ''do nothing Case Is = "easy" Range("A1").Value = "This is secret code" Case Else MsgBox "Incorrect Password" End Select
Resultado al hacer clic en el botón de comando en la hoja:
Contraseña protegida de ser ejecutado
Explicación : la macro utiliza el método InputBox del objeto Aplicación. Si los usuarios hacen clic en Cancelar, este método devuelve Falso y no sucede nada (el Cuadro de entrada desaparece). Solo cuando el usuario conoce la contraseña ("fácil" de nuevo), se ejecutará el código secreto. Si la contraseña ingresada es incorrecta, se muestra un MsgBox. Tenga en cuenta que el usuario no puede echar un vistazo a la contraseña en el Editor de Visual Basic porque el proyecto no puede verse.
He pasado algún tiempo escribiendo una macro de Excel que potencialmente vale la pena para muchas empresas.
¿Cómo puedo bloquear la macro para evitar que las personas vean la fuente / reenviar a otras personas?
Gracias
El enfoque moderno es alejarse de VBA para obtener un código importante, y escribir un complemento administrado por .NET usando c # o vb.net, hay muchos recursos para esto en la www, y podría usar la versión Express de MS Estudio visual
Genere una aplicación protegida para Mac o Windows desde su hoja de cálculo de Excel utilizando OfficeProtect con AppProtect o QuickLicense / AddLicense. Hay un video de demonstation llamado "Protect Excel Spreedsheet" en www.excelsoftware.com/videos.
Puede establecer una contraseña para su código vba, pero esto se puede romper fácilmente.
También puede crear un complemento y compilarlo en una DLL . Vea here para más información. Esa es al menos la forma más segura de proteger su código.
Saludos,
Puede consultar este nuevo producto en http://hivelink.io , que le permite proteger adecuadamente sus macros sensibles.
El sistema de contraseñas de Excel es extremadamente débil: puede descifrarlo en 2 minutos simplemente usando un editor HEX básico. No recomendaría confiar en esto para proteger nada.
Escribí una extensa publicación sobre este tema aquí: ¿ Protegiendo el código en un libro de Excel?
Proteger / bloquear código de Excel VBA :
Cuando escribimos el código VBA, a menudo se desea que el código de la Macro VBA no sea visible para los usuarios finales. Esto es para proteger su propiedad intelectual y / o evitar que los usuarios jueguen con su código. Solo tenga en cuenta que la capacidad de protección de Excel está lejos de lo que se consideraría seguro. También hay muchas herramientas de recuperación de contraseña de VBA para la venta en www.
Para proteger su código, abra el Libro de Excel y vaya a Herramientas> Macro> Editor de Visual Basic (Alt + F11). Ahora, desde dentro de VBE, vaya a Herramientas> Propiedades de VBAProject y luego haga clic en la pestaña de la página Protección y luego marque "Bloquear proyecto para ver" y luego ingrese su contraseña y nuevamente para confirmarla. Después de hacer esto, debe guardar, cerrar y volver a abrir el libro de trabajo para que la protección surta efecto.
(Énfasis mío)
Parece tu mejor apuesta. No detendrá a las personas decididas a robar tu código, pero es suficiente para detener a los piratas informales.
Recuerde, incluso si pudiera distribuir una copia compilada de su código, no habría nada que impida que la gente lo decompiling .