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

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

Para crear un menú mediante macros, son necesarios tres pasos principales:

  1. Crear un grupo de macros para definir los comandos del menú.
  2. Crear otra macro para construir el propio menú.
  3. Adjuntar el menú a un control, un formulario, un informe, o a la base de datos como un todo.

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

Paso 1: Crear un grupo de macros que contenga los comandos del menú

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

Mostrar¿Qué es un grupo de macros?

Un grupo de macros es un objeto de macro único que contiene dos o más macros independientes. Para identificar cada macro, escriba un nombre en la columna Nombre de macro. En la ilustración siguiente, Macro3 es un grupo de macros. MsjNoEncontrado y MsjEncontrado son macros individuales dentro del grupo, y cada una de ellas consta de dos acciones de macro.

Ejemplo de grupo de macros

 Nota   La columna Nombre de macro está oculta de modo predeterminado. Para mostrar la columna Nombre de macro, en la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Nombres de macro.


  1. En el grupo Otros de la ficha Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha situada debajo del botón Módulo o Módulo de clase y, a continuación, haga clic en Macro.
  1. En el grupo Mostrar u ocultar de la ficha Diseño, haga clic en Nombres de macro para mostrar la columna Nombres de macro.
  1. Para cada comando que desee agregar al menú contextual personalizado:
    • En la columna Nombre de macro, escriba el texto que desee que aparezca en el menú contextual (por ejemplo, "Imprimir informe" o "Guardar").

 Nota   Si desea crear una tecla de acceso de modo que se pueda elegir el comando con el teclado, escriba el símbolo & delante de la letra que desea designar como tecla de acceso en el nombre del comando (por ejemplo "&Guardar"). Esta letra aparecerá subrayada en el menú.

  • En la columna Acción, seleccione la primera acción que desea que se produzca al hacer clic en el comando dentro del menú contextual.
  • Si desea que se ejecuten más acciones al seleccionar este comando, agréguelas en las líneas siguientes. En todas las acciones siguientes, deje vacía la celda Nombre de macro.

 Nota   Para crear una línea entre dos comandos del menú, escriba un guión (-) en la columna Nombre de macro entre los comandos de menú correspondientes.

  1. Guarde la macro con algún nombre, por ejemplo, mcrComandosMenúContextual.

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

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

Paso 2: Crear una macro para construir el menú

Este paso puede parecer redundante, pero para construir el menú contextual a partir del grupo de macros creado en el paso 1, debe crear una segunda macro que contenga la acción de macro AgregarMenú . Esta macro se denomina a veces "macro de menú".

  1. En el grupo Otros de la ficha Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha situada debajo del botón Módulo o Módulo de clase y, a continuación, haga clic en Macro.
  1. En la primera línea de la macro, seleccione AgregarMenú en la lista Acción.
  2. 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 obligatorio, pero se recomienda por si en el paso 3 quisiera agregar el menú a una ficha de la cinta (por ejemplo, la ficha Complementos de un informe o formulario). Si en el paso 3 agrega el menú como menú contextual, el argumento Nombre del menú no se tendrá en cuenta.
  3. En el cuadro Nombre de macro de menú, escriba el nombre de la macro creada en el paso 1.
  4. Guarde la macro con algún nombre, por ejemplo, mcrAgregarMenúContextual.

La ilustración siguiente muestra un ejemplo de macro de menú que crea el menú diseñado en el paso 1.

Una macro de menú en la vista Diseño

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

Según dónde desee que aparezca el menú, siga uno o varios de los procedimientos siguientes.

    Agregar el menú a la ficha Complementos de un formulario o informe

Utilice este procedimiento si desea que el menú aparezca en la ficha Complementos de un formulario o informe en particular, como se muestra en la ilustración siguiente:

Ficha Complementos, con un menú personalizado

  1. En el panel de navegación, haga clic con el botón secundario en el formulario o el informe donde desea que aparezca el menú y, a continuación, haga clic en Vista Diseño.
  2. En la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Hoja de propiedades.
  1. Para seleccionar todo el objeto, seleccione Formulario o Informe en la lista que aparece en la parte superior del panel de tareas Hoja de propiedades.
  2. En la ficha Otras de la hoja de propiedades, en el cuadro de propiedad Menú contextual, escriba el nombre de la macro que creó en el paso 2 (en este ejemplo, “mcrAgregarMenúContextual”).

La próxima vez que abra el formulario o informe, la ficha Complementos aparecerá en la cinta. Haga clic en la ficha para ver el menú.

Para obtener más información sobre técnicas de personalización de la cinta, por ejemplo agregar fichas personalizadas u ocultar las fichas predeterminadas, vea el artículo Personalizar la cinta de opciones.

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

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

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

Un menú contextual sencillo

  1. En el panel de navegación, haga clic con el botón secundario en el formulario o el informe donde desea que aparezca el menú y, a continuación, haga clic en Vista Diseño.
  2. En la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Hoja de propiedades.
  1. Seleccione el control u objeto al que desea adjuntar el menú contextual.

 Nota   Para seleccionar todo el objeto, seleccione Formulario o Informe en la lista que aparece en la parte superior del panel de tareas Hoja de propiedades.

  1. En la ficha Otras de la hoja de propiedades, en el cuadro de propiedad Barra de menús contextuales, escriba el nombre de la macro que creó en el paso 2 (en este ejemplo, “mcrAgregarMenúContextual”).

    Agregar el menú como menú contextual global

Este procedimiento reemplaza todos los menús contextuales predeterminados de la base de datos actual. Los menús contextuales personalizados que haya vinculado a formularios, informes o controles específicos no se verán afectados.

  1. Haga clic en el botón de Microsoft OfficeImagen del botón y, a continuación, haga clic en Opciones de Access.
  2. En el cuadro de diálogo Opciones de Access, haga clic en Base de datos actual.
  3. En Opciones de barra de herramientas y de la cinta de opciones, en el cuadro Barra de menús contextuales, escriba el nombre de la macro que creó en el paso 2 (en este ejemplo, “mcrAgregarMenúContextual”).

 Notas 

  • Los menús contextuales personalizados sustituyen a los menús contextuales predeterminados de los objetos a los que se asocien. Si desea conservar algunos comandos de Access para utilizarlos en estos menús, use la acción EjecutarComando para colocar los comandos dentro de los grupos de macros de los menús donde los desee.
  • Un menú contextual personalizado asociado a un control reemplaza cualquier otro menú contextual personalizado definido en la base de datos. Un menú contextual personalizado asociado a un formulario o informe reemplaza un menú contextual global personalizado.
  • Cuando se especifica una macro de menú para un formulario, un 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 modifica la macro de menú o el grupo de macros que definen los comandos mientras el formulario, el informe o la base de datos están abiertos, deberá cerrarlos y volverlos a abrir para ver los cambios.
  • Para crear un submenú (submenú: menú que aparece cuando un usuario selecciona un comando en un menú de nivel superior.), siga el paso 1 para crear un grupo de macros independiente que sólo contenga los comandos del submenú. A continuación, siga nuevamente el paso 1 para definir los comandos del menú de nivel superior. Agregue el submenú como un elemento en el grupo de macros de nivel superior, mediante la acción de macro AgregarMenú. La ilustración siguiente muestra el grupo de macros de un menú que contiene un submenú y, a continuación, muestra el menú contextual resultante. La tercera línea en el grupo de macros crea el submenú Exportar a... (mcrSubMenú).

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ú. No olvide suministrar un valor para el argumento Nombre del menú de cada acción AgregarMenú, ya que de lo contrario el submenú aparecerá como una línea vacía en el menú de nivel superior.

  • Sólo se admiten condiciones en la macro de menú de nivel superior. Dicho de otro modo, puede usar una condición en una macro de menú para determinar si un menú o menú contextual determinados aparecerán, pero solamente para los menús en el nivel superior. No se pueden usar condiciones para mostrar ni ocultar comandos o submenús en los menús. También puede utilizar una condición para mostrar u ocultar 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 único objeto de macro que contenga todas las macros de menú necesarias. Asegúrese de mostrar la columna Nombre de macro y de escribir un nombre distinto para cada macro. En el paso 3, use este formato para hacer referencia a la macro: nombredegrupodemacros.nombredemacro. Por ejemplo, mcrAgregarMenúsContextuales.AgregarMenú2

Volver al principio Volver al principio

 
 
Corresponde a:
Access 2007