Crear menús personalizados y menús contextuales mediante macros

Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

Puede usar macros de Access para crear menús contextuales personalizados que aparecen al hacer clic con el botón secundario en formularios, informes o controles individuales. También puede crear menús personalizados que aparecen en la cinta de opciones para informes o formularios específicos.

Para crear un menú mediante macros, puede realizar tres pasos principales:

  1. Cree un objeto de macro con submacros que contengan los comandos de menú.

  2. Cree otro objeto de macro que cree el menú en sí.

  3. AdJunte el menú a un control, un formulario, un informe o a la base de datos como un todo.

En las siguientes secciones, se describen estos pasos en detalle.

Nota: ¿Está usando Access 2007? Si es así, vaya a la sección crear menús contextuales personalizados en Access 2007.

Sugerencia: Si desea obtener información sobre cómo crear menús contextuales personalizados en Access con código de Visual Basic para aplicaciones (VBA), vea el artículo crear un menú contextual para un formulario, un control de formulario o un informe.

Paso 1: crear un objeto de macro con submacros que contengan los comandos de menú

En este paso, creará un objeto de macro con submacros, cada una de las cuales será un comando independiente en el menú contextual.

¿Qué es una submacro?

Puede usar una submacro dentro de un objeto de macro para definir un conjunto de acciones de macro. Las submacros de un objeto macro se pueden llamar por separado desde varios eventos de control y de objeto. Cada submacro individual de un objeto de macro tiene un nombre único y puede contener una o más acciones de macro.

  1. En el grupo Macros y código de la pestaña Crear, haga clic en Macro.

  2. Para cada comando que desee en el menú conTextual personalizado:

    1. Agregue una instrucción de macro de submacro a la ventana de diseño de macros y asígnele el nombre que desea mostrar en el menú contextual (por ejemplo, "Imprimir" o "actualizar").

      Sugerencia: Para crear una tecla de acceso de modo que pueda usar el teclado para elegir el comando, escriba un símbolo de "y" comercial (&) antes de la letra que desea que sea la tecla de acceso en el nombre de comando (por ejemplo, "&Refresh"). Esta letra aparecerá subrayada en el menú.

    2. En la submacro, seleccione la primera acción que desea que se realice al hacer clic en el comando en el menú contextual.

    3. Si hay más acciones que desea realizar al seleccionar este comando, agréguelos como acciones de macro independientes dentro de la misma submacro.

  3. Guarde y asigne un nombre al objeto de macro por ejemplo, mcrShortcutMenuCommands.

    En la ilustración siguiente se muestra un objeto de macro de ejemplo con tres submacros para un menú contextual o de menú personalizado.

    Captura de pantalla de la ventana de diseño de macros de Access con tres instrucciones de submacro.

Paso 2: crear un segundo objeto de macro que cree el menú

Este paso puede parecer redundante, pero para crear el menú contextual desde el objeto macro que creó en el paso 1, debe crear un segundo objeto macro que contenga la acción de macro AddMenu. Esta acción de macro a veces se denomina "macro de menú".

  1. En el grupo Macros y código de la pestaña Crear, haga clic en Macro.

  2. En el cuadro combinado Agregar nueva acción de la ventana de diseño de macros, seleccione AddMenu.

  3. En el cuadro del argumento nombre del menú de la acción de macro AddMenu , escriba el nombre del menú (por ejemplo, "comandos de formulario"). Este argumento no es necesario, pero se recomienda si, en el paso 3, va a agregar el menú a una pestaña de la cinta de opciones (como la pestaña complementos de un formulario o informe). Si el menú se agrega como un menú contextual en el paso 3, se omite el argumento de nombre de menú .

  4. En el cuadro de argumento nombre de macro de menú , escriba el nombre del objeto de macros que creó en el paso 1.

  5. Guarde y asigne un nombre a este segundo objeto de macro, por ejemplo, mcrAddShortcutMenu.

    En la ilustración siguiente se muestra un objeto de macro de menú de ejemplo que crea el menú que se ha diseñado en el paso 1.

    Captura de pantalla de un objeto de macro de Access con una acción de macro AddMenu.

Paso 3: adJuntar el menú a un control, formulario, informe o base de datos

Según el lugar donde quiera que aparezca el menú, siga uno o varios de los procedimientos siguientes.

Agregar el menú a la pestaña complementos de un formulario o informe

Use este procedimiento si quiere que el menú aparezca en la pestaña Complementos para un formulario o informe específico.

  1. En el panel de navegación, haga clic con el botón secundario en el formulario o informe en el que desea que aparezca el menú y, a continuación, haga clic en vista Diseño.

  2. En el grupo Herramientas de la pestaña Diseño, haga clic en Hoja de propiedades.

  3. Seleccione todo el objeto seleccionando formulario o Informe en la lista de la parte superior del panel de tareas hoja de propiedades.

  4. En la pestaña otras de la hoja de propiedades, en el cuadro de propiedades barra de menús , escriba el nombre del objeto de macros que creó en el paso 2 (en este ejemplo, "mcrAddShortcutMenu").

  5. Guarde los cambios en el formulario o informe.

    La próxima vez que abra el formulario o informe, aparecerá la pestaña complementos en la cinta de opciones. Haga clic en la pestaña para ver el menú, como se muestra en la siguiente ilustración:

    Captura de pantalla de complementos de la cinta de opciones en Access

    Para obtener más información sobre las técnicas de personalización de la cinta, como agregar tabulaciones personalizadas o ocultar las pestañas predeterminadas, vea el artículo crear una cinta de opciones personalizada en Access.

Agregar el menú como un menú contextual para un formulario, un informe o un control

Use este procedimiento si quiere que el menú aparezca al hacer clic con el botón secundario en un formulario, un informe o un control específico.

  1. En el panel de navegación, haga clic con el botón secundario en el formulario o informe donde desea que aparezca el menú contextual y, a continuación, haga clic en vista Diseño.

  2. En el grupo Herramientas de la pestaña Diseño, haga clic en Hoja de propiedades.

  3. Seleccione el control o el objeto al que desea adjuntar el menú contextual.

    Para seleccionar todo el objeto, seleccione formulario o Informe en la lista de la parte superior del panel de tareas hoja de propiedades.

  4. En la pestaña otras de la hoja de propiedades, en el cuadro de propiedad barra de menú contextual , escriba el nombre del objeto de macros que creó en el paso 2 (en este ejemplo, "mcrAddShortcutMenu").

  5. Asegúrese de que la propiedad menú contextual está establecida en sí.

  6. Guarde los cambios en el formulario o informe.

    La próxima vez que abra el formulario o informe y luego haga clic con el botón derecho en el formulario, informe o control, verá el menú contextual con los comandos asociados, como se muestra en la siguiente ilustración:

    Captura de pantalla de un menú contextual en un formulario de Access

Agregar el menú como un menú contextual global

Este procedimiento reemplaza todos los menús contextuales predeterminados de la base de datos actual. Los menús contextuales personalizados que ha adjuntado a formularios, informes o controles específicos no se ven afectados.

  1. Haga clic en Archivo > Opciones.

  2. En el cuadro de diálogo Opciones de Access, haga clic en Base de datos activa.

  3. En cinta y opciones de barra de herramientas, en el cuadro barra de menú contextual , escriba el nombre de la macro que creó en el paso 2 (en este ejemplo, "mcrAddShortcutMenu").

  4. Haga clic en Aceptar para guardar los cambios en el cuadro de diálogo Opciones de Access .

  5. Cierre y vuelva a abrir la base de datos para que los cambios surtan efecto.

Los menús contextuales personalizados reemplazan a los menús contextuales predeterminados de los objetos a los que están conectados. Si desea conservar determinados comandos de Access para usarlos en estos menús, use la acción de macro EjecutarComando para poner los comandos en los objetos macro de los menús que desee.

Un menú contextual personalizado que está adjunto a un control reemplaza a cualquier otro menú contextual personalizado que se defina en la base de datos. Un menú contextual personalizado que se adjunta a un formulario o informe reemplaza a un menú contextual global personalizado.

Cuando especifica una macro de menú para un formulario o informe o para la base de datos, Access ejecuta esta macro de menú siempre que se abre el formulario, el informe o la base de datos. Si realiza cambios en el objeto de macros de menú o en el objeto de macro que define sus comandos mientras el formulario, el informe o la base de datos están abiertos, debe cerrar el formulario, informe o base de datos y volver a abrirlo para ver los cambios.

Para crear un submenú en una lista de comandos del menú contextual, siga el paso 1 para crear un objeto de macro independiente que contenga solo los comandos del submenú, como se muestra en la siguiente ilustración:

Captura de pantalla de una macro en Access con dos submacros

Después, siga el paso 1 de nuevo para definir los comandos para el objeto de menú de nivel superior. Agregue el submenú como un elemento en el objeto de macro de nivel superior mediante la acción de macro AddMenu . En la ilustración siguiente se muestra el objeto de macros para un menú que contiene un submenú. La tercera submacro de este objeto de macro de ejemplo crea el submenú exportar a... (mcrShortcutSubMenuCommands).

Captura de pantalla de una macro de Access con cuatro submacros

En la ilustración siguiente se muestra el menú contextual completo completado con un submenú:

Captura de pantalla de un menú contextual con un submenú

Para crear varios niveles de submenús, puede usar las acciones de macro AddMenu en los objetos macro de cada nivel de menú. Asegúrese de proporcionar un valor para el argumento de nombre del menú para cada acción AgregarMenú ; de lo contrario, el submenú aparecerá como una línea en blanco en el menú de nivel superior.

Las condiciones de las macros con bloques si/then/else solo se admiten en el objeto de macro de menú de nivel superior. En otras palabras, puede usar una expresión de condición en un objeto de macro de menú para determinar si se mostrará un menú o un menú contextual determinado, pero solo para los menús del nivel superior. No se pueden usar expresiones de condición para mostrar u ocultar comandos o submenús en los menús. También puede usar una expresión de condición para ocultar o mostrar un menú contextual personalizado o un menú contextual global.

De manera opcional, la macro de menú que se crea en el paso 2 puede formar parte de un objeto de macro. Por ejemplo, si tiene varios menús contextuales para diferentes objetos o controles, puede crear un solo objeto macro que contenga todas las macros de menú necesarias. Asegúrese de tener un nombre único para cada submacro. En el paso 3, use la siguiente notación para hacer referencia a la macro: MacroObjectName. SubmacroName. Por ejemplo, mcrAddShortcutMenus. AddMenu2.

Principio de página

Crear menús contextuales personalizados en Access 2007

La ventana de diseño de macros es diferente en Access 2007 en comparación con versiones posteriores; por tanto, expanda las siguientes secciones para seguir las siguientes, si está usando Access 2007.

En este paso, creará un grupo de macros, cada una de las cuales tendrá un comando independiente en el menú contextual.

¿Qué es un grupo de macros?

Un grupo de macros es un solo objeto de macro que contiene dos o más macros independientes. Las macros individuales se identifican escribiendo un nombre para cada macro en la columna nombres de macro. En la ilustración siguiente, Macro3 es un grupo de macros. NotFoundMsg y FoundMsg son macros individuales dentro del grupo, cada una de las macros que consta de dos acciones de macro.

Ejemplo de grupo de macros

Nota: La columna nombre de macro está oculta de forma predeterminada. Para mostrar la columna Nombre de macro , en la pestaña diseño , en el grupo Mostrar u ocultar , haga clic en nombres de macro.

  1. En el grupo Otros de la pestaña Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha que aparece bajo los botones Módulo o Módulo de clase y luego haga clic en Macro.

  2. En la pestaña diseño , en el grupo Mostrar u ocultar , haga clic en nombres de macros para mostrar la columna Nombre de macro .

  3. Para cada comando que desee en el menú conTextual personalizado:

    • En la columna nombre de macro , escriba el texto que desea mostrar en el menú contextual (por ejemplo, "Imprimir informe" o "guardar").

      1. Nota: Para crear una tecla de acceso de modo que pueda usar el teclado para elegir el comando, escriba un símbolo de "y" comercial (&) antes de la letra que desea que sea la tecla de acceso en el nombre de comando (por ejemplo, "&Save"). Esta letra aparecerá subrayada en el menú.

    • En la columna acción , seleccione la primera acción que desea que se realice al hacer clic en el comando en el menú contextual.

    • Si hay más acciones que desea realizar al seleccionar este comando, agréguelos en las líneas siguientes. Para cada acción subsiguiente, deje la celda nombre de macro en blanco.

      1. Nota: Para crear una línea entre dos comandos de menú, escriba un guión (-) en la columna nombre de macro entre los comandos de menú que corresponda.

  4. Guarde y asigne un nombre a la macro, por ejemplo, mcrShortcutMenuCommands.

En la siguiente ilustración se muestra un grupo de macros de ejemplo para un menú contextual o de menú personalizado.

Un grupo de macros para un menú, en la vista Diseño

Este paso puede parecer redundante, pero para crear el menú contextual desde el grupo de macros creado en el paso 1, debe crear una segunda macro que contenga la acción de macro AddMenu . A veces, esta macro se denomina "macro de menú".

  1. En el grupo Otros de la pestaña Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha que aparece bajo los botones Módulo o Módulo de clase y luego haga clic en Macro.

  2. En la primera línea de la macro, seleccione AddMenu en la lista de acciones .

  3. En argumentos de acción, en el cuadro nombre del menú , escriba el nombre del menú (por ejemplo, "comandos de informe"). Este argumento no es necesario, pero se recomienda si, en el paso 3, va a agregar el menú a una pestaña de la cinta de opciones (como la pestaña complementos de un formulario o informe). Si el menú se agrega como un menú contextual en el paso 3, se omite el argumento de nombre de menú .

  4. En el cuadro Nombre de la macro de menú , escriba el nombre de la macro que creó en el paso 1.

  5. Guarde y asigne un nombre a la macro, por ejemplo, mcrAddShortcutMenu.

En la ilustración siguiente se muestra una macro de menú de ejemplo que crea el menú que se ha diseñado en el paso 1.

Una macro de menú en la vista Diseño

Según el lugar donde quiera que aparezca el menú, siga uno o varios de los procedimientos siguientes.

  • Agregar el menú a la pestaña complementos de un formulario o informe

    Use este procedimiento si quiere que el menú aparezca en la pestaña Complementos para un formulario o informe específico, como se muestra en la siguiente ilustración:

    Ficha Complementos, con un menú personalizado

    1. En el panel de navegación, haga clic con el botón secundario en el formulario o informe en el que desea que aparezca el menú y, a continuación, haga clic en vista Diseño.

    2. En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Hoja de propiedades.

    3. Seleccione todo el objeto seleccionando formulario o Informe en la lista de la parte superior del panel de tareas hoja de propiedades.

    4. En la pestaña otros de la hoja de propiedades, en el cuadro de la propiedad del menú contextual , escriba el nombre de la macro que creó en el paso 2 (en este ejemplo, "mcrAddShortcutMenu").

      La próxima vez que abra el formulario o informe, aparecerá la pestaña complementos en la cinta de opciones. Haga clic en la pestaña para ver el menú.

      Para obtener más información sobre las técnicas de personalización de la cinta, como agregar tabulaciones personalizadas o ocultar las pestañas predeterminadas, vea el artículo crear una cinta de opciones personalizada en Access.

      La cinta de opciones es un componente de la interfaz de usuario de Microsoft Office Fluent.

  • Agregar el menú como un menú contextual para un formulario, un informe o un control

    Use este procedimiento si quiere que el menú aparezca al hacer clic con el botón secundario en un formulario, informe o control específico, como se muestra en la siguiente ilustración:

    Un menú contextual sencillo

    1. En el panel de navegación, haga clic con el botón secundario en el formulario o informe donde desea que aparezca el menú contextual y, a continuación, haga clic en vista Diseño.

    2. En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Hoja de propiedades.

    3. Seleccione el control o el objeto al que desea adjuntar el menú contextual.

      Nota: Para seleccionar todo el objeto, seleccione formulario o Informe en la lista de la parte superior del panel de tareas hoja de propiedades.

    4. En la pestaña otras de la hoja de propiedades, en el cuadro de propiedad barra de menú contextual , escriba el nombre de la macro que creó en el paso 2 (en este ejemplo, "mcrAddShortcutMenu").

  • Agregar el menú como un menú contextual global

    Este procedimiento reemplaza todos los menús contextuales predeterminados de la base de datos actual. Los menús contextuales personalizados que ha adjuntado a formularios, informes o controles específicos no se ven afectados.

    1. Haga clic en el botón Microsoft Office y, a continuación, en Opciones de Access.

    2. En el cuadro de diálogo Opciones de Access, haga clic en Base de datos activa.

    3. En cinta y opciones de barra de herramientas, en el cuadro barra de menú contextual , escriba el nombre de la macro que creó en el paso 2 (en este ejemplo, "mcrAddShortcutMenu").

  • Los menús contextuales personalizados reemplazan a los menús contextuales predeterminados de los objetos a los que están conectados. Si desea conservar determinados comandos de Access para usarlos en estos menús, use la acción EjecutarComando para poner los comandos en los grupos de macros de los menús que desee.

  • Un menú contextual personalizado que está adjunto a un control reemplaza a cualquier otro menú contextual personalizado que se defina en la base de datos. Un menú contextual personalizado que se adjunta a un formulario o informe reemplaza a un menú contextual global personalizado.

  • Cuando especifica una macro de menú para un formulario o informe o para la base de datos, Access ejecuta esta macro de menú siempre que se abre el formulario, el informe o la base de datos. Si realiza cambios en la macro de menú o el grupo de macros que define sus comandos mientras el formulario, el informe o la base de datos están abiertos, debe cerrar el formulario, informe o base de datos y volver a abrirlo para ver los cambios.

  • Para crear un submenú, siga el paso 1 para crear un grupo de macros independiente que contenga solo los comandos del submenú. Después, siga el paso 1 de nuevo para definir los comandos para el menú de nivel superior. Agregue el submenú como un elemento del grupo de macros de nivel superior mediante la acción de macro AddMenu . En la ilustración siguiente se muestra el grupo de macros para un menú que contiene un submenú y, a continuación, se muestra el menú contextual resultante. La tercera línea del grupo de macros crea el submenú exportar a... (mcrSubMenu).

    Un menú contextual con un submenú

    Puede crear varios niveles de submenús mediante acciones AgregarMenú en los grupos de macros de cada nivel de menú. Asegúrese de proporcionar un valor para el argumento de nombre del menú para cada acción AgregarMenú ; de lo contrario, el submenú aparecerá como una línea en blanco en el menú de nivel superior.

  • Las condiciones de macros solo se admiten en la macro de menú de nivel superior. En otras palabras, puede usar una condición en una macro de menú para determinar si se mostrará un menú o un menú contextual determinado, pero solo para los menús del nivel superior. No puede usar condiciones para mostrar u ocultar comandos o submenús en los menús. También puede usar una condición para ocultar o mostrar un menú contextual personalizado o un menú contextual global.

  • De manera opcional, la macro de menú que cree en el paso 2 puede formar parte de un grupo de macros. Por ejemplo, si tiene varios menús contextuales para diferentes objetos o controles, puede crear un solo objeto macro que contenga todas las macros de menú necesarias. Asegúrese de mostrar la columna nombre de macro y escriba un nombre único para cada macro. En el paso 3, use la siguiente notación para hacer referencia a la macro: nombregrupomacros. nombremacro. Por ejemplo, mcrAddShortcutMenus. AddMenu2.

Principio de página

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×