¿Cómo habilitar los macros (el contenido) mediante código de visual basic en excel?

Tengo una macro que se ejecuta automáticamente para que no se pueda var la base de datos, pero cuando están desabilitados el contenido me aparece lo siguiente:

"Advertencia de seguridad las macros se han desahilitado."

Ya lo intente desde seguridad de macros habilitar las macros pero el problema es que hay usuarios que sepan como deshabilitarlos y mostrar la base completa y modificar, que es lo que no quiero.

mi pregunta es; ¿Cómo puedo habilitar o deshabilitar la seguridad de la macro desde el código de Visual Basic?, para que así cada vez que se ejecute la macro también se habilita el contenido de las macros mediante el código, así creo que el usuario le sera más difícil dasabilitarlo desde el código y evitar que se pueda ver la base de datos.

1 Respuesta

Respuesta
2

H o l a:

Si no están habilitadas las macros, no se podría ejecutar una macro para habilitar las macros.

Para que las macros estén habilitadas revisa el siguiente enlace:

http://excelforo.blogspot.mx/2013/06/vba-habilitar-macros-de-excel.html 


Otra opción es que ocultes todas las hojas. Luego si abren el libro sin macros habilitadas las hojas estarán ocultas.

Si habilitan las macros entonces se harán visibles las hojas. Para lo anterior tienes que poner estas macros en los eventos de Thisworkbook:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Por.Dante Amor
    'Antes de cerrar el libro se ocultan las hojas
    For h = 2 To Sheets.Count
        Sheets(h).Visible = 2
    Next
    ThisWorkbook.Save
End Sub
'
Private Sub Workbook_Open()
'Por.Dante Amor
    'Si las macros están habilitadas, las hojas se hacen visibles
    For h = 2 To Sheets.Count
        Sheets(h).Visible = -1
    Next
End Sub

La macro oculta desde la hoja 2 hasta la última hoja, la hoja 1 siempre estará visible, ya que debes tener por lo menos una hoja visible.


Referencia:

Macro que ya habilite macros en libro de excel


':)
'S aludos. D a n t e   A m o r . Si es lo que necesitas. R ecuerda valorar la respuesta. G racias
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas