Pregunta

Estoy buscando la posibilidad de agregar un nivel adicional de seguridad a mis proyectos de Excel.

Tenemos múltiples usuarios. Algunos que saben (y están destinados a) la contraseña que desbloquea las macros VBA. Otros no están destinados a poder acceder a estos.

No estoy seguro de si alguien tiene la contraseña que no debería (cambiar la contraseña no ha dejado de manipular), por lo que me gustaría deshabilitar la ventana de edición de VBA para cualquier usuario no aprobado. Sin embargo, no puedo encontrar ninguna forma de hacer esto, ¿es posible?

No puedo deshabilitar la opción Guardar ya que todos los usuarios necesitan guardar datos.

He tratado de deshabilitar los íconos de la cinta, etc., pero sin éxito. Todavía es posible abrir la ventana de código con Alt+F11.

Cualquier ayuda sería genial.

¿Fue útil?

Solución

Vengo de Excel 2003, pero este concepto también debería funcionar para usted. Podrías pensar en

  • Atrapando la tecla Alt-F11 (Application.OnKey "%{F11}" "MyNullSub") más
  • Deshabilite las entradas de menú relevantes (Application.CommandBars(...).FindControl(ID:=..).OnAction = "MyNullSub")

con

Sub MyNullSub()
' do nothing
End Sub

Como dependencia de una entrada en el registro que debe estar presente (GetSetting(...)), pero esto solo ayudará hasta que este secreto adicional se extienda de la misma manera que las contraseñas (cambiadas) aparentemente lo hicieron.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top