Como hacer que un libro de excel pida un serial para poder abrirse

El punto es que tengo un excel que quiero que pida un serial de activación y si no esta entonces que el excel no muestre ninguna clase de información

1

1 respuesta

Respuesta
2

¿Serial de activación? Contraseña de apertura.

A la hora de grabar el archivo ponle una contraseña de apertura... Esto lo haces:

Guardar como, Herramientas, Opciones generales y escribes una contraseña de apertura

Sin esa contraseña que tu si conocerías nadie puede abrir el archivo.

Si luego de abierto (por primera vez) deseas quitarle la contraseña (suponiendo que la persona ya introdujo la contraseña debido al "pago" requerido) y hay que "desproteger" el archivo, pon la siguiente macro en el módulo ThisWorkbook

Private Sub Workbook_Open()
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.FullName, Password:=""
    Application.DisplayAlerts = True
End Sub

Gracias amigo pero lo que busco con esto es que si copian el archivo de excel en otra pc no pueda ser utilizado ya que pediría un archivo guardado en el sistema con una licencia

Como haría para asignar el valor de una línea de datos de un documento de texto.txt a una variable

Así comparar si el contenido de una variable coincide on el del documento de txt abra el excel y permita utilizarlo, esta condición debería hacerse al iniciar el libro excel

Si quieres hacer un "sistema de licenciamiento", esta siempre sujeto a algo de vulnerabilidad... pero con cierto grado de seguridad, algo si se consigue, pero no es tan fácil...

Supongamos lo siguiente:

Creas un nombre (Fórmulas, Asignar nombre)... por ejemplo license

Y le pones en se refiere a: ="abc123" (ejemplo, en el caso el serial fuera abc123 )

A ese nombre lo haces oculto... ejecutando el código:

Names("license").visible=false

Para obtener el valor almacenado en ese nombre, en la parte del código que hará la comparación después usarás Evaluate(names("license"). Value)

Ahora...

En el evento BeforeClose del módulo ThisWorkbook ocultas TODAS las hojas menos una, que sería una de menú, o una que solo diga "Verficando licencia", así cuando vuelvas a abrir el archivo solo se verá esa hoja. De más esta decir que tienes que proteger el libro con una contraseña que solo tu conozcas.

En el evento AutoOpen del módulo ThisWorkbook pones el siguiente código:

Private Sub AutoOpen()

dim codigoHoja as string

dim codigoArch as string

codigoHoja = Evaluate(names("license").value)

If Dir("C:\licenciaSistemaExcel\licencia.txt")<>"" Then

    Open "C:\licenciaSistemaExcel\licencia.txt" For Input As #1

    Line Input #1, codigoArch

    Close #1

    If codigoHoja = codigoArch then

             Msgbox "Licencia válida"

... Y aquí vuelves a mostrar todas las hojas del archivo... y ocultas la del menu inicial

    Else

            Msgbox "Numero de licencia no valido"

            Application.Displayalerts=false

            Application.quit

    End if

Else

         Msgbox "no se encontró archivo de licencia"

            Application.Displayalerts=false

            Application.quit.

End if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas