Id. de artículo: 177361 - Última revisión: lunes, 22 de enero de 2007 - Versión: 3.1

ACC97: Cómo deshabilitar o habilitar elementos en una barra de comandos personalizada

Avanzado: Requiere codificación experto, interoperabilidad, conocimientos y multiusuario.

En esta página

Expandir todo | Contraer todo

Resumen

En este artículo se describe métodos que pueden utilizar para habilitar o deshabilitar todos los elementos de menú o elementos de menú específico en una barra de comandos personalizada mediante programación.

Este artículo se supone que está familiarizado con Visual Basic para aplicaciones y con la creación de aplicaciones de Microsoft Access mediante las herramientas de programación suministradas con Microsoft Access. Para obtener más información acerca de Visual Basic para aplicaciones, consulte el manual "Creación de aplicaciones con Microsoft Access 97".

Más información

Los ejemplos de este artículo se basan en la barra de comandos "NorthwindCustomMenuBar" encontrada en la Neptuno.mdb de base de datos de ejemplo. Los ejemplos de manipular el objeto CommandBar, que forma parte de la biblioteca de objetos de Microsoft Office 8.0. Por tanto, la biblioteca de objetos de Microsoft Office 8.0 deben estar disponible en el equipo; también se debe establecer una referencia a esta biblioteca en la base de datos que desea habilitar o deshabilitar elementos de menú en las barras de comandos personalizadas.

Para establecer una referencia a la biblioteca de objetos de Microsoft Office 8.0, siga estos pasos:
  1. Abra la base de datos.
  2. En la ventana base de datos, haga clic en la ficha módulos.
  3. Seleccione cualquier módulo y haga clic en diseño o haga clic en nuevo si no hay módulos aparecen en la ficha módulos en la ventana base de datos.
  4. En el menú Herramientas, haga clic en referencias.
  5. Busque la casilla de verificación biblioteca de objetos de Microsoft Office 8.0 y haga clic en él para seleccionarlo; a continuación, haga clic en Aceptar.
  6. En el menú Archivo, haga clic en Cerrar. No es necesario guardar el módulo.

Deshabilitar todos los elementos de menú en un ejemplo de barra de comandos personalizada

El ejemplo siguiente desactiva todos los elementos de menú de una barra de comandos personalizado:
  1. Abra la base de datos.
  2. En la ventana base de datos, haga clic en la ficha módulos y, a continuación, haga clic en nuevo.
  3. Escriba o pegue el código siguiente en el módulo:
          Public Function AllowMenus(CmdBarName As String, CmdbarEnabled As _
             Boolean)
    
             '============================================================='
             'This function has two arguments: CmdbarName is a string that '
             'passes the name of the command bar that the code enables or  '
             'disables. CmdBarEnabled is a Boolean value in which you pass '
             '"True" or "False" in order to enable or disable the command  '
             'bar being modified.                                          '
             '                                                             '
             'Example: To disable the command bar "NorthwindCustomMenuBar" '
             'in the Northwind sample database, use the following:         '
             '                                                             '
             'AllowMenus("NorthwindCustomMenuBar",False)                   '
             '============================================================='
    
             Dim Cmdbar As CommandBar, Cbct As CommandBarControl
    
             On Error GoTo Err_AllowMenus
             Set Cmdbar = CommandBars(CmdBarName)
    
             If Cmdbar.Visible = False Then Cmdbar.Visible = True
    
                For Each Cbct In Cmdbar.Controls
                   Cbct.Enabled = CmdbarEnabled
                Next Cbct
    
             Exit_AllowMenus:
                Exit Function
    
             Err_AllowMenus:
             MsgBox "Error " & CStr(Err) & " " & Err.Description & _
                " has occurred in the AllowMenus Function", vbOKOnly, _
                "Error Detected"
             Resume Exit_AllowMenus
    
          End Function
    						
  4. Guarde el módulo.
  5. Presione CTRL+G para abrir la ventana Depurar y probar la función. Por ejemplo, si está utilizando la base de datos Neptuno, escriba la línea siguiente y, a continuación, presione ENTRAR:

    ? AllowMenus ("NorthwindCustomMenuBar", false)

Habilitar o deshabilitar elementos de menú específicos en un ejemplo de barra de comandos

La función de ejemplo siguiente permite habilitar o deshabilitar un elemento de menú específico en una barra de comandos, en lugar del comando completo barra propio mediante programación.
  1. Abra la base de datos.
  2. En la ventana base de datos, haga clic en la ficha módulos y, a continuación, haga clic en nuevo.
  3. Escriba o pegue el código siguiente en el módulo:
          Public Function CommandbarEnable(Cmdbar As CommandBar, _
             CmdbarEnabled As Boolean, TopLevel As Integer, _
             Optional Sublevel As Integer)
    
            '================================================================='
            'This function has four arguments:                                '
            '                                                                 '
            'Cmdbar is a CommandBar object that represents the command       '
            'bar containing the menu item to be enabled or disabled.          '
            '                                                                 '
            'CmdBarEnabled is a Boolean value in which you pass "True"        '
            'or "False" in order to enable or disable the menu item being     '
            'manipulated.                                                     '
            '                                                                 '
            'TopLevel is an integer representing the index of the Top-level   '
            'menu item being manipulated.                                     '
            '                                                                 '
            'Sublevel is an optional integer representing the index of the    '
            'menu item being manipulated under the Top-level menu item.       '
            '                                                                 '
            'Example: To disable only the "File" menu item on the             '
            '"NorthwindCustomMenuBar" command bar, use the following:         '
            '                                                                 '
            'CommandbarEnable(Commandbars("NorthwindCustomMenuBar"),False,1)  '
            '                                                                 '
            'Example2: To disable the "Get external Data" Menu item under     '
            'the "File" menu item on the "NorthwindCustomMenuBar" command     '
            'bar, use the following:                                          '
            '                                                                 '
            'CommandbarEnable(Commandbars("NorthwindCustomMenuBar"),False,1,3)'
            '                                                                 '
            'To "re-enable" the same menu item, use the following:            '
            '                                                                 '
            'CommandbarEnable(Commandbars("NorthwindCustomMenuBar"),True,1,3) '
            '================================================================='
    
             Dim SubCommandbar
    
             On Error GoTo Err_CommandBarEnable
    
             'If the command bar is not visible, make it so.
             If Cmdbar.Visible = False Then Cmdbar.Visible = True
    
             'If no menu item on a submenu is selected for enabling\disabling,
             'enable\disable the top level menu choice only.
                If IsMissing(Sublevel) Or Sublevel = 0 Then
                   Cmdbar.Controls(TopLevel).Enabled = CmdbarEnabled
                   'If a menu item on a submenu is selected for
                   'enabling\disabling, do so now.
                Else
                   Set SubCommandbar = Cmdbar.Controls(TopLevel)
                   SubCommandbar.Controls(Sublevel).Enabled = CmdbarEnabled
                End If
    
          Exit_CommandBarEnable:
                Exit Function
    
          Err_CommandBarEnable:
             MsgBox "Error " & CStr(Err) & " " & Err.Description & _
                " has occurred in the CommandBarEnable Function", vbOKOnly, _
                "Error Detected"
             Resume Exit_CommandBarEnable
    
          End Function
    						
  4. Guarde el módulo.
  5. Presione CTRL+G para abrir la ventana Depurar y probar la función. Por ejemplo, si está utilizando la base de datos Neptuno, escriba la línea siguiente y, a continuación, presione ENTRAR:

    ? CommandbarEnable(Commandbars("NorthwindCustomMenuBar"),False,1,3)

Referencias

Para obtener más información sobre el objeto CommandBar, busque el índice de la Ayuda de "Objeto CommandBar."

Para obtener más información sobre cómo crear barras de comandos personalizada, pedir el Ayudante de Office ayuda acerca de cómo "Crear una barra de herramientas personalizada para la base de datos actual", o utilizar al Asistente para la barra de comando.

Para obtener más información acerca de cómo obtener al Asistente para la barra de comandos, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:

172300  (http://support.microsoft.com/kb/172300/EN-US/ ) ACC97: barra de comandos para disponible en el Centro de descarga

La información de este artículo se refiere a:
  • Microsoft Access 97 Standard Edition
Palabras clave: 
kbmt kbhowto KB177361 KbMtes
Traducción automáticaTraducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 177361  (http://support.microsoft.com/kb/177361/en-us/ )
Retired KB ArticleRenuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.
 

Seleccione idioma