¿Cómo desactivo funciones del código de una macro en Microsoft Excel para que no me de error?

He logrado desactivar el menu "herramientas", pero el código para desactivar &macros genera un error y se puede entrar con alt+f8, y si le doy Alt+f11 entro al editor y se puede modificar el código fuente de mi macro. ¿Cómo logro desactivar/activar estas funciones?

1 respuesta

Respuesta
1
Efectivamente, la macro tiene una "s" de más en las instrucciones (Nota que la opción bajo el menú "Herramientas" es "Macro" (no "Macros" como intenta deshabilitar aquella macro).
Por otra parte esto era lo único que solicitabas en aquella pregunta ("... como puedo dsactivar la opción de herramientas, macros...")
De todos modos, podrías agregar un par de comandos más a la primera que envié -corregida- para capturar esas combinaciones de teclas.
Este código debería lograr el objetivo:
Private Sub Workbook_Open()
' Pone en gris e inhabilita la opción Macros
With Application.CommandBars("Worksheet Menu Bar")
With .Controls("&Herramientas")
With .Controls("&Macro")
.Enabled = False
.Visible = True
End With
End With
End With
'Inhabilita botón de macro
Application.OnKey "%{F8}", "CortaMacr"
Application.OnKey "%{F11}", "CortaMacr"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Devuelve funcion a menú
With Application.CommandBars("Worksheet Menu Bar")
With .Controls("&Herramientas")
With .Controls("&Macro")
.Enabled = True
.Visible = True
End With
End With
End With
Application.OnKey "%{F8}"
Application.OnKey "%{F11}"
End Sub
---
Habrá que decir que el tema de seguridad eficiente en MS Excel requiere de mucho ingenio (más que el de quién quiera burlarlo) y horas de programación.
Por ejemplo si quién habré el archivo, inhabilita macros (ante la pregunta de MS Excel)
Esta protección quedará anulada.
En todo caso te conviene mantener tu proyecto de VBA oculto y protegido con contraseña para que no pueda verse qué hace.
Para esto, accede al Editor de Visual Basic, en su Navegador de Proyectos, busca el de tu archivo -cierra todos los elementos que tenga asociado- haz click derecho sobre él. Elige "Propiedades del VBA Project". Selecciona la solapa de Protección, marca la casilla de "Bloquear proyecto para visualización" y también ingresale una contraseña.
Por último, te recomiendo un interesante artículo que Valedor publicó en su página (http://www.vbalym.netfirms.com/excel/exarc1.html).
Me parece que podrás sacar algunos conceptos de utilidad de allí.
Espero haberte ayudado.
Si asaí fuera, ya sabes... ;)
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas