'Crea un módulo nuevo y pega este código. Nombre: basBarrasPersonalizadas Option Compare Database Option Explicit Private Sub Demo_mcActivarBarrasHerramientas() '**** Pulsar F5 para ejecutar el código en caso de no haber ninguna barra. 'Simular la variable pública que hay en las aplicaciones. Dim pblnAplicaciónTerminada As Boolean pblnAplicaciónTerminada = False 'Activar todas las barras de herramientas que estén activas Call mc_ActivarBarrasHerramientas(True) 'Desactivar todas las barras de herramientas que estén Activadas Call mc_ActivarBarrasHerramientas(False) 'Activar todas las barras de herramientas y Activar la personalizada. Call mc_ActivarBarrasHerramientas(True, "bhPrincipal", True) 'Activar todas las barras de herramientas y Desactivar la personalizada. Call mc_ActivarBarrasHerramientas(True, "bhPrincipal", False) 'Desactivar todas las barras de herramientas y Activar la personalizada. Call mc_ActivarBarrasHerramientas(False, "bhPrincipal", True) 'Desactivar todas las barras de herramientas y Desactivar la personalizada. Call mc_ActivarBarrasHerramientas(False, "bhPrincipal", False) 'Comprobar si la aplicación esta terminada o en modo de diseño. If pblnAplicaciónTerminada Then 'Desactivar todas las barras de herramientas y Activar la personalizada. Call mc_ActivarBarrasHerramientas(False, "bhPrincipal", True) 'Desactivar todas las barras de herramientas que estén Activadas Call mc_ActivarBarrasHerramientas(False) Else 'Activar todas las barras de herramientas y Activar la personalizada. Call mc_ActivarBarrasHerramientas(True, "bhPrincipal", True) End If End Sub Public Function mc_ActivarBarrasHerramientas(blnActivar As Boolean, _ Optional strNombreBarra As String, _ Optional blnActivarII As Boolean = True) 'Forma parte del Módulo: basFuncionesPúblicasMódulosMcV1497 '******************************************************************************************** 'Actualización: 24/01/2003 Fecha Creación: 21/10/2001 'Autor: Copyright ©1999-2002 McPegasus 'Contacto: mcpegasus@mcpegasus.com, www.mcpegasus.com 'Leyenda: El autor desea que disfrutes con el código y te autoriza a usarlo sin _ ninguna limitación, excepto las relativas a la apropiación y venta, ya _ que, como a tí no te ha costado nada, espera que no seas tan capull@ _ de querer ganar dinero con el, por lo menos sin compartir ;-). _ También quiere el autor dejar claro, que no se hace responsable de _ ningún error que pueda existir en el código y al ser tú libre de _ querer utilizarlo es tú responsabilidad cualquier anomalia que surga _ en tú equipo. _ Como intercambio libre el autor agradece que le comuniquen cualquier _ anomalía en el funcionamiento a la dirección de correo electrónico que _ figura arriba. 'Propósito: Activa o desactiva las barras de herramientas personalizadas y estandar _ según los parámetros de entrada. 'Observaciones: ' Mientras se esta diseñando la aplicación, y dejamos visibles las barras personalizadas, _ estas aparecen junto a las habituales de access. Para evitar esto, cuando blnActivar es _ true, indicar también el nombre de la barra personalizada y se hará invisible. 'La sintaxis del Procedimiento o Función, consta de estos argumentos: 'Parte Descripción '------------------------------------------------------------------------------------------- 'blnActivar Requerido. Expresión booleana que corresponde al trabajo a realizar, _ True, Activa todas las barras de herramientas. _ False, Desactiva todas las barras de herramientas. 'strNombreBarra Opcional. Nombre de la barra a activar o desactivar. 'blnActivarII Opcional. Expresión booleana que indica otro estado de visualización, _ True, Activa la barra de herramienta según strNombreBarra. _ False, Desactiva la barra de herramienta según strNombreBarra. Dim objBarra As Object For Each objBarra In CommandBars If Not IsMissing(strNombreBarra) Then 'Si el argumento se ha pasado ... If blnActivar Then 'Comprobar si la barra es la misma que el parámetro, hacer invisible. If objBarra.Name = strNombreBarra Then objBarra.Visible = blnActivarII objBarra.Enabled = blnActivar Else 'Comprobar la coincidencia del nombre de la barra para hacerla visible. If objBarra.Name = strNombreBarra Then objBarra.Enabled = True objBarra.Visible = blnActivarII Else objBarra.Enabled = blnActivar End If End If Else 'No se ha pasado el argumento ... 'En caso de no pasar el segundo parámetro, [strNombreBarra] objBarra.Enabled = blnActivar End If Next End Function