Você pode usar as macros do Access para criar menus de atalho personalizados que aparecem quando você clica com o botão direito do mouse em formulários, relatórios ou controles individuais. Você também pode criar menus personalizados que aparecem na Faixa de Opções para formulários ou relatórios específicos.
Para criar um menu usando macros, execute três etapas principais:
- Crie um objeto de macro com submacros que contenham os comandos de menu.
- Crie outro objeto de macro que crie o próprio menu.
- Anexe o menu a um controle, a um formulário, a um relatório ou ao banco de dados como um todo.
As seções a seguir orientam você nessas etapas em detalhes.
Dica
Se você quiser saber como criar menus de atalho personalizados no Access usando o código do Visual Basic for Applications (VBA), consulte o artigo Criar um menu de atalho para um formulário, controle de formulário ou relatório.
Etapa 1: Criar um objeto de macro com submacros que contêm os comandos de menu
Nesta etapa, você cria um objeto de macro com submacros, cada submacro das quais será um comando separado no menu de atalho.
O que é uma submacro?
Você pode usar uma submacro dentro de um objeto de macro para definir um conjunto de ações de macro. Submacros dentro de um objeto macro podem ser chamadas separadamente de vários eventos de controle e objeto. As submacros individuais dentro de um objeto de macro têm um nome exclusivo e podem conter uma ou mais ações de macro.
Na guia Criar, no grupo Macros e Código, clique em Macro.
Para cada comando que você deseja em seu menu de atalho personalizado:
Adicione uma instrução Submacro Macro à janela de design da macro e nomeie a submacro como o que você deseja exibir no menu de atalho (por exemplo, "Imprimir" ou "Atualizar").
Dica
Para criar uma tecla de acesso para que você possa usar o teclado para escolher o comando, digite um e comercial (&) antes da letra que você deseja que seja a tecla de acesso no nome do comando (por exemplo, "&Refresh"). Esta letra será sublinhada no menu.
Na submacro, selecione a primeira ação que você gostaria que ocorresse ao clicar no comando no menu de atalho.
Se houver mais ações que você deseja que ocorram ao selecionar este comando, adicione-as como ações de macro separadas dentro da mesma submacro.
Salve e nomeie o objeto de macro, por exemplo, mcrShortcutMenuCommands.
A ilustração a seguir mostra um objeto de macro de exemplo com três submacros para um menu personalizado ou menu de atalho.
Etapa 2: criar um segundo objeto de macro que cria o menu
Esta etapa pode parecer redundante, mas para criar o menu de atalho do objeto de macro que você criou na Etapa 1, você deve criar um segundo objeto de macro que contenha a ação de macro AddMenu. Essa ação de macro às vezes é chamada de "macro de menu".
- Na guia Criar, no grupo Macros e Código, clique em Macro.
- Na caixa de combinação Adicionar Nova Ação na janela de design da macro, selecione AddMenu.
- Na caixa de argumento Nome do Menu para a ação de macro AddMenu , digite o nome do menu (por exemplo, "Comandos de formulário"). Esse argumento não é necessário, mas é recomendado se, na Etapa 3, você planeja adicionar o menu a uma guia da Faixa de Opções (como a guia Suplementos de um formulário ou relatório). Se o menu for adicionado como um menu de atalho na Etapa 3, o argumento Nome do Menu será ignorado.
- Na caixa de argumento Nome da Macro do Menu , insira o nome do objeto de macro criado na Etapa 1.
- Salve e nomeie esse segundo objeto de macro, por exemplo, mcrAddShortcutMenu.
A ilustração a seguir mostra um objeto de macro de menu de exemplo que cria o menu que criamos na Etapa 1.
Etapa 3: Anexar o menu a um controle, formulário, relatório ou banco de dados
Dependendo de onde você deseja que o menu apareça, use um ou mais dos procedimentos a seguir.
Adicionar o menu à guia Add-Ins de um formulário ou relatório
Use este procedimento se desejar que o menu apareça na guia Suplementos para um formulário ou relatório específico.
- No Painel de Navegação, clique com o botão direito do mouse no formulário ou relatório em que deseja que o menu seja exibido e clique em Modo Design.
- Na guia Design, no grupo Ferramentas, clique em Folha de Propriedades.
- Selecione o objeto inteiro selecionando Formulário ou Relatório na lista na parte superior do painel de tarefas Folha de Propriedades.
- Na guia Outros da Folha de Propriedades, na caixa de propriedades Barra de Menus , digite o nome do objeto de macro que você criou na Etapa 2 (neste exemplo, "mcrAddShortcutMenu").
- Salve as alterações do formulário ou do relatório.
Na próxima vez que você abrir o formulário ou relatório, a guia Suplementos aparecerá na Faixa de Opções. Clique na guia para ver o menu, conforme mostrado na ilustração a seguir:
Para obter mais informações sobre técnicas de personalização da Faixa de Opções, como adicionar guias personalizadas ou ocultar as guias padrão, consulte o artigo Criar uma faixa de opções personalizada no Access.
Adicionar o menu como um menu de atalho para um formulário, relatório ou controle
Use este procedimento se desejar que o menu apareça quando você clicar com o botão direito do mouse em um formulário, relatório ou controle específico.
- No Painel de Navegação, clique com o botão direito do mouse no formulário ou relatório onde deseja que o menu de atalho apareça e clique em Modo Design.
- Na guia Design, no grupo Ferramentas, clique em Folha de Propriedades.
- Selecione o controle ou objeto ao qual você deseja anexar o menu de atalho.
Para selecionar o objeto inteiro, selecione Formulário ou Relatório na lista na parte superior do painel de tarefas Folha de Propriedades. - Na guia Outros da Folha de Propriedades, na caixa de propriedades Barra de Menus de Atalho , digite o nome do objeto de macro que você criou na Etapa 2 (neste exemplo, "mcrAddShortcutMenu").
- Verifique se a propriedade Menu de Atalho está definida como Sim.
- Salve as alterações do formulário ou do relatório.
Na próxima vez que abrir o formulário ou relatório e clicar com o botão direito do mouse no formulário, relatório ou controle, você verá o menu de atalho com os comandos associados, conforme mostrado na ilustração a seguir:
Adicionar o menu como um menu de atalho global
Esse procedimento substitui todos os menus de atalho padrão no banco de dados atual. Os menus de atalho personalizados que você anexou a formulários, relatórios ou controles específicos não são afetados.
- Clique emOpçõesde Arquivo>.
- Na caixa de diálogo Opções do Access, clique em Banco de Dados Atual.
- Em Opções da Faixa de Opções e da Barra de Ferramentas, na caixa Barra de Menus de Atalho , digite o nome da macro que você criou na Etapa 2 (neste exemplo, "mcrAddShortcutMenu").
- Clique em OK para salvar as alterações na caixa de diálogo Opções do Access .
- Feche e reabra o banco de dados para que as alterações entrem em vigor.
Os menus de atalho personalizados substituem os menus de atalho padrão dos objetos aos quais estão anexados. Se você quiser manter determinados comandos do Access para usar nesses menus, use a ação de macro ExecutarComando para colocar os comandos nos objetos de macro dos menus desejados.
Um menu de atalho personalizado anexado a um controle substitui qualquer outro menu de atalho personalizado definido no banco de dados. Um menu de atalho personalizado anexado a um formulário ou relatório substitui um menu de atalho global personalizado.
Quando você especifica uma macro de menu para um formulário ou relatório ou para o banco de dados, o Access executa essa macro de menu sempre que o formulário, relatório ou banco de dados é aberto. Se você fizer alterações no objeto de macro de menu ou no objeto de macro que define seus comandos enquanto o formulário, relatório ou banco de dados estiver aberto, feche o formulário, o relatório ou o banco de dados e reabra-o para ver as alterações.
Para criar um submenu em uma lista de comandos de menu de atalho, siga a Etapa 1 para criar um objeto de macro separado que contenha apenas os comandos de submenu, conforme mostrado na ilustração a seguir:
Em seguida, siga a Etapa 1 novamente para definir os comandos para o objeto de menu de nível superior. Adicione o submenu como um item no objeto de macro de nível superior usando a ação de macro AddMenu . A ilustração a seguir mostra o objeto de macro de um menu que contém um submenu. A terceira submacro neste objeto de macro de exemplo cria o submenu Exportar para... (mcrShortcutSubMenuCommands).
A ilustração a seguir mostra o menu de atalho concluído resultante com um submenu:
Você pode criar vários níveis de submenus usando as ações de macro AddMenu nos objetos de macro para cada nível de menu. Certifique-se de fornecer um valor para o argumento Nome do Menu para cada ação AddMenu , caso contrário, o submenu aparecerá como uma linha em branco no menu de nível superior.
Condições de expressão de macro usando blocos If/Then/Else são suportadas apenas no objeto de macro do menu de nível superior. Em outras palavras, você pode usar uma expressão de condição em um objeto de macro de menu para determinar se um determinado menu ou menu de atalho será exibido, mas apenas para os menus no nível superior. Você não pode usar expressões de condição para exibir ou ocultar comandos ou submenus nos menus. Você também pode usar uma expressão de condição para ocultar ou mostrar um menu de atalho personalizado ou um menu de atalho global.
Opcionalmente, a macro de menu que você cria na Etapa 2 pode ser parte de um objeto de macro. Por exemplo, se você tiver vários menus de atalho para diferentes objetos ou controles, poderá criar um único objeto de macro que contenha todas as macros de menu necessárias. Certifique-se de ter um nome exclusivo para cada submacro. Na Etapa 3, use a seguinte notação para se referir à macro: MacroObjectName.SubmacroName. Por exemplo, mcrAddShortcutMenus.AddMenu2.