Pode utilizar macros do Access para criar menus de atalho personalizados que são apresentados quando clica com o botão direito do rato em formulários, relatórios ou controlos individuais. Também pode criar menus personalizados que aparecem no Friso para formulários ou relatórios específicos.
Para criar um menu com macros, execute três passos principais:
-
Create um objeto de macro com submacros que contêm os comandos de menu.
-
Create outro objeto de macro que cria o próprio menu.
-
Anexe o menu a um controlo, formulário, relatório ou à base de dados como um todo.
As secções seguintes orientam-no ao longo destes passos em detalhe.
Sugestão: Se quiser saber como criar menus de atalho personalizados no Access com código Visual Basic for Applications (VBA), consulte o artigo Create um menu de atalho para um formulário, controlo de formulário ou relatório.
Passo 1: Create um objeto de macro com submacros que contêm os comandos de menu
Neste passo, vai criar um objeto de macro com submacros, cada submacro do qual será um comando separado no menu de atalho.
O que é uma submacro?
Pode utilizar uma submacro dentro de um objeto de macro para definir um conjunto de ações de macro. Os submacros dentro de um objeto de macro podem ser chamados separadamente de vários eventos de controlo e objeto. Os submacros individuais dentro de um objeto de macro têm um nome exclusivo e podem conter uma ou mais ações de macro.
-
No separador Criar, no grupo Macros e Código, clique em Macro.
-
Para cada comando que pretender no menu de atalho personalizado:
-
Adicione uma instrução Submacro Macro à janela de estrutura da macro e dê um nome à submacro que pretende apresentar no menu de atalho (por exemplo, "Imprimir" ou "Atualizar").
Sugestão: Para criar uma tecla de acesso para poder utilizar o teclado para escolher o comando, escreva um e comercial (&) antes da letra que pretende que seja a tecla de acesso no nome do comando (por exemplo, "&Atualizar"). Esta letra será sublinhada no menu.
-
Na submacro, selecione a primeira ação que pretende que ocorra quando clicar no comando no menu de atalho.
-
Se quiser realizar mais ações ao selecionar este comando, adicione-as como ações de macro separadas na mesma submacro.
-
-
Guarde e dê o nome mcrShortcutMenuCommands ao objeto de macro.
A ilustração seguinte mostra um objeto de macro de exemplo com três submacros para um menu personalizado ou menu de atalho.
Passo 2: Create um segundo objeto de macro que cria o menu
Este passo pode parecer redundante, mas para criar o menu de atalho a partir do objeto de macro que criou no Passo 1, tem de criar um segundo objeto de macro que contenha a ação de macro AdicionarMenu. Por vezes, esta ação de macro é denominada "macro de menu".
-
No separador Criar, no grupo Macros e Código, clique em Macro.
-
Na caixa de combinação Adicionar Nova Ação na janela de estrutura da macro, selecione AdicionarMenu.
-
Na caixa de argumento Nome do Menu da ação de macro AdicionarMenu , escreva o nome do menu (por exemplo, "Comandos de Formulário"). Este argumento não é obrigatório, mas é recomendado se, no Passo 3, planear adicionar o menu a um separador do Friso (como o separador Suplementos de um formulário ou relatório). Se o menu for adicionado como um menu de atalho no Passo 3, o argumento Nome do Menu é ignorado.
-
Na caixa de argumento Nome da Macro do Menu , introduza o nome do objeto de macro que criou no Passo 1.
-
Guarde e dê o nome a este segundo objeto de macro, por exemplo , mcrAddShortcutMenu.
A ilustração seguinte mostra um objeto de macro de menu de exemplo que cria o menu que concebemos no Passo 1.
Passo 3: anexar o menu a um controlo, formulário, relatório ou base de dados
Consoante o local onde pretende que o menu seja apresentado, utilize um ou mais dos seguintes procedimentos.
Adicionar o menu ao separador Add-Ins de um formulário ou relatório
Utilize este procedimento se quiser que o menu seja apresentado no separador Suplementos de um formulário ou relatório específico.
-
No Painel de Navegação, clique com o botão direito do rato no formulário ou relatório onde pretende que o menu seja apresentado e, em seguida, clique em Vista Estrutura.
-
No separador Estrutura, no grupo Ferramentas, clique em Folha de Propriedades.
-
Selecione todo o objeto ao selecionar Formulário ou Relatório na lista na parte superior do painel de tarefas Folha de Propriedades.
-
No separador Outro na Folha de Propriedades, na caixa de propriedades Barra de Menus , escreva o nome do objeto de macro que criou no Passo 2 (neste exemplo, "mcrAddShortcutMenu").
-
Guarde as alterações ao seu formulário ou relatório.
Da próxima vez que abrir o formulário ou relatório, o separador Suplementos é apresentado no Friso. Clique no separador para ver o menu, conforme mostrado na ilustração seguinte:
Para obter mais informações sobre técnicas de personalização do Friso, como adicionar separadores personalizados ou ocultar os separadores predefinidos, consulte o artigo Create um friso personalizado no Access.
Adicionar o menu como um menu de atalho para um formulário, relatório ou controlo
Utilize este procedimento se quiser que o menu seja apresentado quando clicar com o botão direito do rato num formulário, relatório ou controlo específico.
-
No Painel de Navegação, clique com o botão direito do rato no formulário ou relatório onde pretende que o menu de atalho seja apresentado e, em seguida, clique em Vista estrutura.
-
No separador Estrutura, no grupo Ferramentas, clique em Folha de Propriedades.
-
Selecione o controlo ou objeto ao qual pretende anexar o menu de atalho.
Para selecionar todo o objeto, selecione Formulário ou Relatório na lista na parte superior do painel de tarefas Folha de Propriedades.
-
No separador Outro na Folha de Propriedades, na caixa de propriedades Barra de Menus de Atalho , escreva o nome do objeto de macro que criou no Passo 2 (neste exemplo, "mcrAddShortcutMenu").
-
Certifique-se de que a propriedade Menu de Atalho está definida como Sim.
-
Guarde as alterações ao seu formulário ou relatório.
Da próxima vez que abrir o formulário ou relatório e, em seguida, clicar com o botão direito do rato no formulário, relatório ou controlo, verá o menu de atalho com os comandos associados, conforme mostrado na ilustração seguinte:
Adicionar o menu como um menu de atalho global
Este procedimento substitui todos os menus de atalho predefinidos na base de dados atual. Os menus de atalho personalizados que anexou a formulários, relatórios ou controlos específicos não são afetados.
-
Clique em Ficheiro > Opções.
-
Na caixa de diálogo Opções do Access, clique em Base de Dados Atual.
-
Em Opções do Friso e da Barra de Ferramentas, na caixa Barra de Menus de Atalho , escreva o nome da macro que criou no Passo 2 (neste exemplo, "mcrAddShortcutMenu").
-
Clique em OK para guardar as alterações na caixa de diálogo Opções do Access .
-
Feche e volte a abrir a base de dados para que as alterações entrem em vigor.
Os menus de atalho personalizados substituem os menus de atalho predefinidos dos objetos a que estão anexados. Se quiser manter determinados comandos do Access a utilizar nestes menus, utilize a ação de macro ExecutarComando para colocar os comandos nos objetos de macro dos menus nos quais pretende colocá-los.
Um menu de atalho personalizado anexado a um controlo substitui quaisquer outros menus de atalho personalizados definidos na base de dados. Um menu de atalho personalizado anexado a um formulário ou relatório substitui um menu de atalho global personalizado.
Quando especifica uma macro de menu para um formulário ou relatório ou para a base de dados, o Access executa esta macro de menu sempre que o formulário, relatório ou base de dados for aberto. Se fizer alterações ao objeto de macro de menu ou ao objeto de macro que define os respetivos comandos enquanto o formulário, relatório ou base de dados está aberto, tem de fechar o formulário, relatório ou base de dados e voltar a abri-lo para ver as alterações.
Para criar um submenu numa lista de comandos de menu de atalho, siga o Passo 1 para criar um objeto de macro separado que contenha apenas os comandos de submenu, conforme mostrado na ilustração seguinte:
Em seguida, siga novamente o Passo 1 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 com a ação de macro AdicionarMenu . A ilustração seguinte 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 seguinte mostra o menu de atalho concluído resultante com um submenu:
Pode criar vários níveis de submenus com ações de macro AdicionarMenu nos objetos de macro para cada nível do menu. Certifique-se de que fornece um valor para o argumento Nome do Menu para cada ação AdicionarMenu . Caso contrário, o submenu aparecerá como uma linha em branco no menu de nível superior.
As condições de expressão de macro com os blocos If/Then/Else são suportadas apenas no objeto de macro de menu de nível superior. Por outras palavras, pode utilizar uma expressão de condição num objeto de macro de menu para determinar se será apresentado um menu ou menu de atalho específico, mas apenas para os menus no nível superior. Não pode utilizar expressões condicionais para apresentar ou ocultar comandos ou submenus nos menus. Também pode utilizar uma expressão de condição para ocultar ou mostrar um menu de atalho personalizado ou menu de atalho global.
Opcionalmente, a macro de menu que criar no Passo 2 pode fazer parte de um objeto de macro. Por exemplo, se tiver vários menus de atalho para diferentes objetos ou controlos, pode criar um único objeto de macro que contenha todas as macros de menu necessárias. Certifique-se de que tem um nome exclusivo para cada submacro. No Passo 3, utilize a seguinte notação para fazer referência à macro: MacroObjectName.SubmacroName. Por exemplo, mcrAddShortcutMenus.AddMenu2.