Criar uma macro de interface do usuário

No Microsoft Access, macros anexadas a objetos de interface do usuário (interface do usuário), como botões de comando, caixas de texto, formulários e relatórios são conhecidas como macros da interface do usuário. Isso os diferencia das macros de dados, que são anexadas a tabelas. Você usa macros (interface do usuário) para automatizar uma série de ações, como abrir outro objeto, aplicar um filtro, iniciar uma operação de exportação e muitas outras tarefas. Este artigo apresenta você ao construtor de macros recém-redesenhado e mostra as tarefas básicas envolvidas na criação de uma macro de interface do usuário.

Observação: Este artigo não se aplica aos aplicativos Web do Access.

Neste artigo

Visão geral

As macros podem estar contidas em objetos de macro (às vezes chamados de macros autônomas) ou podem ser incorporadas às propriedades de eventos de formulários, relatórios ou controles. As macros incorporadas tornam-se parte do objeto ou controle no qual são inseridas. Os objetos Macro são visíveis no Painel de Navegação, em Macros; macros incorporadas não são.

Cada macro é feita de uma ou mais ações de macro. Dependendo do contexto em que você está trabalhando, algumas ações de macro podem não estar disponíveis para uso.

Início da página

Construtor de Macros

Aqui estão alguns dos principais destaques de recursos do Construtor de Macros.

  • Catálogo de Ações    As ações de macro são organizadas por tipo e pesquisável.

  • IntelliSense    Ao digitar expressões, IntelliSense sugere valores possíveis e permite que você selecione o correto.

  • Atalhos de teclado    Use combinações de teclas para uma escrita de macro mais rápida e fácil.

  • Fluxo de programas    Crie macros mais acessíveis com linhas de comentários e grupos de ações.

  • Instruções condicionais    Permitir uma execução lógica mais complexa com suporte para If/Else/Else Aninhado Se.

  • Reutilização de macro    O Catálogo de Ações exibe outras macros que você criou, deixando você copiá-las para a que você está trabalhando.

  • Compartilhamento mais fácil    Copie uma macro e, em seguida, a colar como XML em um site de exemplo de email, postagem de grupo de notícias, blog ou código.

Aqui está um vídeo que orienta você pelas principais áreas do Construtor de Macros.

Seu navegador não oferece suporte a vídeo.

Início da página

Criar uma macro autônoma

Este procedimento cria um objeto de macro autônomo que aparecerá em Macros no Painel de Navegação. Macros autônomas são úteis quando você deseja reutilizar a macro em muitos locais do aplicativo. Ao chamar a macro de outras macros, você pode evitar duplicar o mesmo código em vários locais.

  1. Na guia Criar, no grupo Macros e Código, clique em Macro.

    O Access abre o Construtor de Macros.

  2. Na Barra de Ferramentas de Acesso Rápido, clique em Salvar.

  3. Na caixa de diálogo Salvar como, digite um nome para a macro e clique em OK.

  4. Continue com a seção Adicionar ações a uma macro.

Início da página

Criar uma macro incorporada

Este procedimento cria uma macro inserida em uma propriedade de evento de um objeto. Essa macro não aparece no Painel de Navegação, mas pode ser chamada a partir de eventos como Ao carregar ou clicar em.

Como a macro se torna parte do objeto form ou report, as macros incorporadas são recomendadas para automatizar tarefas específicas de um formulário ou relatório específico.

  1. No Painel de Navegação, clique com o botão direito do mouse no formulário ou relatório que conterá a macro e clique em Modo de Exibição de Layout.

  2. Se a Folha de Propriedades não for exibida, pressione F4 para exibi-la.

  3. Clique no controle ou seção que contém a propriedade event na qual você deseja inserir a macro. Você também pode selecionar o controle ou a seção (ou o formulário ou relatório inteiro) usando a listada em Tipo de Seleção na parte superior da folha de propriedades.

  4. No painel de tarefas Folha de Propriedades, clique na guia Evento.

  5. Clique na caixa de propriedades do evento que você deseja disparar a macro. Por exemplo, para um botão de comando, se você quiser que a macro seja executado quando o botão for clicado, clique na caixa da propriedade Ao clicar.

  6. Se a caixa de propriedades contiver as palavras [Macro Incorporada], isso significa que uma macro já foi criada para esse evento. Você pode editar a macro continuando com as etapas restantes neste procedimento.

  7. Se a caixa de propriedades contiver as palavras [Procedimento de Evento], isso significa que um procedimento Visual Basic for Applications (VBA) já foi criado para esse evento. Antes de inserir uma macro no evento, você precisará remover o procedimento. Você pode fazer isso excluindo as palavras [Procedimento de Evento], mas primeiro você deve examinar o procedimento de evento para garantir que removê-lo não quebrará a funcionalidade necessária no banco de dados. Em alguns casos, você pode recriar a funcionalidade do procedimento VBA usando uma macro incorporada.

  8. Clique no botão Criar Imagem do botão .

  9. Se a caixa de diálogo Escolher Construtor for exibida, certifique-se de que o Construtor de Macros está selecionado e clique em OK.

    O Access abre o Construtor de Macros. Continue com a próxima seção para adicionar ações à macro.

Início da página

Adicionar ações a uma macro

As ações são os comandos individuais que comem uma macro e cada um é nomeado de acordo com o que faz, por exemplo, FindRecord ou CloseDatabase.

Etapa 1: Procurar ou pesquisar uma ação de macro

A primeira etapa na adição de uma ação é encontrá-la na listada Adicionar Nova Ação ou no Catálogo de Ações.

Observações: 

  • Por padrão, a lista drop-down Adicionar Nova Ação e o Catálogo de Ações exibem apenas as ações que serão executadas em bancos de dados não confiáveis. Para ver todas as ações:

    • Na guia Design, no grupo Mostrar/Ocultar, clique em Mostrar Todas as Ações.

  • Se o Catálogo de Ações não for exibido, na guia Design, no grupo Mostrar/Ocultar, clique em Catálogo de Ações.

Para encontrar uma ação, use um dos seguintes métodos:

  • Clique na seta na lista drop-down Adicionar Nova Ação e role para baixo para encontrar a ação. Os elementos de fluxo de programas são listados primeiro e, em seguida, as ações de macro são listadas em ordem alfabética.

  • Procure a ação no painel Catálogo de Ações. As ações são agrupadas por categoria. Expanda cada categoria para exibir as ações. Se você selecionar uma ação, uma breve descrição da ação será exibida na parte inferior do Catálogo de Ações.

  • Pesquise a ação no painel Catálogo de Ações digitando na caixa Pesquisar na parte superior do painel. Conforme você digita, a lista de ações é filtrada para mostrar todas as macros que contêm esse texto. O Access pesquisa os nomes da macro e suas descrições para o texto que você inserir.

Etapa 2: Adicionar uma ação a uma macro

Depois de encontrar a ação de macro que você deseja, adicione-a à macro usando um destes métodos:

  • Selecione uma ação na lista Adicionar Nova Ação ou comece a digitar o nome da ação na caixa. O Access adiciona a ação no ponto em que a lista Adicionar Nova Ação foi exibida.

  • Arraste a ação do Catálogo de Ações para o painel de macros. Uma barra de inserção aparece para mostrar onde a ação será inserida quando você liberar o botão do mouse.

  • Clique duas vezes na ação no Catálogo de Ações.

    • Se uma ação estiver selecionada no painel de macros, o Access adiciona a nova ação logo abaixo da selecionada.

    • Se um bloco Group, If, Else If, Elseou Submacro estiver selecionado no painel de macros, o Access adiciona a nova ação a esse bloco.

    • Se nenhuma ação ou bloqueio for selecionado no painel de macros, o Access adiciona a nova ação ao final da macro.

      Observações: 

      • Se você já tiver criado uma ou mais macros, elas serão listadas no nó Neste Banco de Dados no Catálogo de Ações.

        • Arrastar uma macro autônoma (uma listada em Macros) para o painel de macros cria uma ação RunMacro que executa a macro que você arrastou. Em seguida, você pode usar a listada para chamar submacros, se presente.

        • Se você quiser apenas copiar as ações de uma macro autônoma para a macro atual (em vez de criar uma ação RunMacro), clique com o botão direito do mouse no Catálogo de Ações e clique em Adicionar Cópia da Macro.

        • Arrastar uma macro incorporada (uma listada sob um objeto de formulário ou relatório) no painel de macro copia as ações dessa macro para a macro atual.

      • Você também pode criar uma ação arrastando um objeto de banco de dados do Painel de Navegação para o painel de macros. Se você arrastar uma tabela, consulta, formulário, relatório ou módulo para o painel de macro, o Access adiciona uma ação que abre a tabela, a consulta, o formulário ou o relatório. Se você arrastar outra macro para o painel de macros, o Access adiciona uma ação que executa a macro.

Etapa 3: Preencher argumentos

A maioria das ações de macro exige pelo menos um argumento. Você pode exibir uma descrição de cada argumento selecionando a ação e movendo o ponteiro sobre os argumentos. Para muitos argumentos, você pode selecionar um valor de uma lista lista listada. Se o argumento exigir que você digite uma expressão, IntelliSense ajuda você a inserir a expressão sugerindo valores possíveis conforme você digita, conforme mostrado na ilustração a seguir:

Usando o IntelliSense para inserir uma expressão

Quando você vir um valor que deseja usar, adicione-o à sua expressão clicando duas vezes nele ou usando as teclas de seta para realça-lo e pressionando a tecla TAB ou ENTER.

Para obter mais informações sobre como criar expressões, consulte o artigo Introdução às expressões.

Sobre o uso IntelliSense com propriedades em bancos de dados da Web

Ao criar uma macro de interface do usuário incorporada em um formulário compatível com a Web, IntelliSense permite adicionar qualquer propriedade de formulário a uma expressão. No entanto, em um banco de dados da Web, apenas um subconjunto de propriedades de formulário pode ser acessado usando macros da interface do usuário. Por exemplo, dado um controle chamado Control1 em um formulário chamado Form1, IntelliSense permitirá que você adicione [Formulários]! [Form1]! [Control1]. [ControlSource] para uma expressão em uma macro da interface do usuário. No entanto, se você publicar o banco de dados no Serviços do Access, a macro que contém essa expressão gerará um erro quando ele for executado no servidor.

A tabela a seguir mostra as propriedades que você pode usar em macros da interface do usuário em bancos de dados da Web:

Propriedades que você pode usar

Forma

Legenda, Dirty, AllowAdditions, AllowDeletions, AllowEdits

Controle tab

Visible

Rótulo

Legenda, Visible, Fore Color, Back Color

Anexo

Visible, Enabled

Botão Comando

Legenda, Visible, Enabled, Fore Color

Tex tBox

Enabled, Visible, Locked, Fore Color, Back Color, value

Caixa de seleção

Habilitado, Visível, Bloqueado, Valor

Imagem

Visible, Back Color

Caixa de combinação

Habilitado, Visível, Bloqueado, Valor

Caixa de listagem

Habilitado, Visível, Bloqueado, Valor

Navegador da Web

Visible

Subformuidade

Habilitado, Visível Bloqueado

Controle de Navegação

Habilitado, Visível

Mover uma ação

As ações são executadas em ordem, de cima para baixo da macro. Para mover uma ação para cima ou para baixo na macro, use um dos seguintes métodos:

  • Arraste a ação para cima ou para baixo para onde você deseja.

  • Selecione a ação e pressione CTRL + SETA PARA CIMA ou CTRL + SETA PARA BAIXO.

  • Selecione a ação e clique na seta Mover para cima ou Mover para baixo no lado direito do painel de macro.

Excluir uma ação

Para excluir uma ação de macro:

  • Selecione a ação e pressione a tecla DELETE. Como alternativa, você pode clicar no botão Excluir (X) no lado direito do painel de macros.

    Observações: 

    • Se você excluir um bloco de ações, como um bloco If ou um bloco group, todas as ações no bloco também serão excluídas.

    • Os comandos Mover para cima,Moverpara baixo e Excluir também estão disponíveis no menu de atalho que aparece quando você clica com o botão direito do mouse em uma ação de macro.

Início da página

Controlar o fluxo de programas com If, Else If e Else

Para executar ações de macro somente quando determinadas condições são verdadeiras, use um bloco If. Isso substitui a coluna Condição que foi usada em versões anteriores do Access. Você pode estender um bloco If com blocos Else If e Else, semelhante a outras linguagens de programação sequenciais, como o VBA.

A ilustração a seguir mostra um bloco If simples, incluindo blocos Else If e Else:

Uma macro que contém uma instrução If/Else If/Else.

O bloco If será executado se o campo ExpirationDate for menor que a data atual.

O bloco Else If será executado se o campo ExpirationDate for igual à data atual.

O bloco Else será executado se nenhum dos blocos anteriores o fizer.

O bloco Se termina aqui.

Adicionar um bloco If a uma macro

  1. Selecione Se na lista drop-down Adicionar Nova Ação ou arraste-o do painel Catálogo de Ações para o painel de macros.

  2. Na caixa na parte superior do bloco Se, digite uma expressão que determina quando o bloco será executado. A expressão deve ser Boolean (ou seja, uma que é avaliada como Sim ou Não).

  3. Adicione ações ao bloco Se selecionando-as na listada Adicionar Nova Ação que aparece dentro do bloco ou arrastando-as do painel Catálogo de Ações para o bloco Se.

Adicionar Else ou Else Se bloqueia a um bloco If

  1. Selecione o bloco See, no canto inferior direito do bloco,clique em AdicionarMais ou Adicionar Mais Se.

  2. Se você estiver adicionando um bloco Else If, digite uma expressão que determina quando o bloco será executado. A expressão deve ser Boolean (ou seja, uma que é avaliada como True ou False).

  3. Adicione ações ao bloco Else If ou Else selecionando-as na listada Adicionar Nova Ação que aparece dentro do bloco ou arrastando-as do painel Catálogo de Ações para o bloco.

    Observações: 

    • Os comandos a ser adicionados se, senão see outros blocos estão disponíveis no menu de atalho que aparece quando você clica com o botão direito do mouse em uma ação de macro.

    • Se os blocos puderem ser aninhados até 10 níveis de profundidade.

Início da página

Criar submacros

Cada macro pode conter vários submacros. Um submacro foi projetado para ser chamado pelo nome das ações de macro RunMacro ou OnError.

Você adiciona um bloco submacro a uma macro da mesma forma que uma ação de macro,conforme descrito na seção Adicionar ações a uma macro . Depois de adicionar um bloco Submacro, você pode arrastar as ações de macro nele ou selecionar ações na lista Adicionar Nova Ação que aparece dentro do bloco.

Observações: 

  • Você também pode criar um bloco Submacro selecionando uma ou mais ações, clicando com o botão direito do mouse neles e selecionando Fazer Bloqueio de Submacro.

  • Os submacros sempre devem ser os últimos blocos de uma macro; você não pode adicionar nenhuma ação (exceto mais submacros) abaixo de um submacro. Se você executar uma macro que contenha apenas submacros sem nomear especificamente o submacro que você deseja, somente o primeiro submacro será executado.

  • Para chamar um submacro (por exemplo, em uma propriedade de evento ou usando a ação RunMacro ou OnError), use a seguinte sintaxe:

    macroname.submacroname

Início da página

Ações relacionadas ao grupo em conjunto

Você pode melhorar a capacidade de leitura de uma macro agrupando ações e atribuindo um nome significativo ao grupo. Por exemplo, você pode agrupar ações que abrem e filtram um formulário em um grupo chamado "Abrir e filtrar formulário". Isso torna mais fácil ver quais ações estão relacionadas umas às outras. Um bloco group não afeta como as ações são executadas, e o grupo não pode ser chamado ou executado individualmente. Seu uso principal é rotular um grupo de ações para ajudá-lo a entender a macro ao lê-la. Além disso, ao editar uma macro grande, você pode reduzir cada bloco de grupo para uma única linha, reduzindo a quantidade de rolagem que você precisa fazer.

Se as ações que você deseja agrupar já estão na macro, use este procedimento para adicioná-las a um bloco de grupo:

  1. Selecione as ações que você deseja agrupar.

  2. Clique com o botão direito do mouse nas ações selecionadas e clique em Fazer Bloqueio de Grupo.

  3. Na caixa na parte superior do bloco Grupo, digite um nome para o grupo.

Se as ações ainda não estão presentes:

  1. Arraste o bloco Grupo do Catálogo de Ações para o painel de macros.

  2. Na caixa na parte superior do bloco Grupo, digite um nome para o grupo.

  3. Arraste ações de macro do Catálogo de Ações para o bloco Grupo ou selecione ações na lista Adicionar Nova Ação que aparece dentro do bloco.

Os blocos de grupo podem conter outros blocos de grupo e podem ser aninhados até um máximo de 9 níveis de profundidade.

Início da página

Expandir e bloquear ações ou blocos de macro

Quando você cria uma nova macro, o construtor de macros exibe ações de macro com todos os argumentos visíveis. Dependendo do tamanho da macro, talvez você queira fechar algumas ou todas as ações de macro (e blocos de ações) enquanto estiver editando a macro. Isso facilita a visualização geral da estrutura da macro. Você pode expandir algumas ou todas as ações conforme necessário para editá-las.

Expandir ou fechar um único bloco ou ação de macro

  • Clique no sinal de mais (+) ou menos (-) à esquerda da macro ou nome do bloco. Como alternativa, pressione as teclas SETA PARA CIMA e SETA PARA BAIXO para selecionar uma ação ou bloco e pressione as teclas SETA À ESQUERDA ou SETA DIREITA para reacioná-la ou expandi-la.

Expandir ou fechar todas as ações de macro (mas não blocos)

  • Na guia Design, no grupo Collapse/Expand, clique em Expandir Ações ou Ações de Colapso.

Expandir ou fechar todas as ações e blocos de macro

  • Na guia Design, no grupo Colapsar/Expandir, clique em Expandir Tudo ou Colapsar Tudo.

Dica:  Você pode "espiar" dentro de uma ação colapsada movendo o ponteiro sobre a ação. O Access exibe os argumentos de ação em uma dica de ferramenta.

Início da página

Copiar e colar ações de macro

Se você precisar repetir ações que você já adicionou a uma macro, poderá copiar e colar as ações existentes da mesma forma que faria com parágrafos de texto em um processador de palavras. Quando você colar ações, elas serão inseridas logo abaixo da ação selecionada no momento. Se um bloco estiver selecionado, as ações serão colar dentro do bloco.

Dica:  Para duplicar rapidamente as ações selecionadas, segure a tecla CTRL e arraste as ações para o local na macro onde você deseja que elas sejam copiadas.

Compartilhar uma macro com outras pessoas

Quando você copia ações de macro para a área de transferência, elas podem ser colar como Xml (Extensible Markup Language) em qualquer aplicativo que aceite texto. Isso permite que você envie uma macro para um colega por meio de uma mensagem de email ou poste a macro em um fórum de discussão, blog ou outro site. Em seguida, o destinatário pode copiar o XML e colar-o no Construtor de Macros do Access 2010. A macro é recriada assim como você a escreveu.

Executar uma macro

Você pode executar uma macro usando qualquer um dos seguintes métodos:

  • Clique duas vezes na macro no Painel de Navegação.

  • Chame a macro usando a ação de macro RunMacroou OnError.

  • Insira o nome da macro em uma propriedade Event de um objeto. A macro será executado quando esse evento for disparado.

Início da página

Depurar uma macro

Se você estiver com problemas para executar uma macro, há algumas ferramentas que você pode usar para chegar à origem do problema.

Adicionar ações de tratamento de erros a uma macro

Recomendamos adicionar ações de tratamento de erros a cada macro à medida que você a escreve e deixá-las permanentemente na macro. Quando você usa esse método, o Access exibe descrições de erros à medida que eles ocorrem. As descrições de erro ajudam você a entender o erro para que você possa corrigir o problema mais rapidamente.

Use o procedimento a seguir para adicionar um submacro de tratamento de erros a uma macro:

  1. Abra a macro no visualização Design.

  2. Na parte inferior da macro, selecione Submacro na lista drop-down Adicionar Nova Ação.

  3. Na caixa à direita da palavra Submacro, digite um nome para o submacro, como ErrorHandler.

  4. Na lista lista listada Adicionar Nova Ação que aparece no bloco Submacro, selecione a ação de macro MessageBox.

  5. Na caixa Mensagem, digite o seguinte texto: =[MacroError].[ Descrição]

  6. Na parte inferior da macro, selecione OnError na listada Adicionar Nova Ação.

  7. De definir o argumento Ir para o Nome da Macro.

  8. Na caixa Nome da Macro, digite o nome do submacro de manipulação de erros (neste exemplo, ErrorHandler).

  9. Arraste a ação de macro OnError até a parte superior da macro.

A ilustração a seguir mostra uma macro com a ação OnError e um Submacro chamado ErrorHandler.

Uma macro que contém uma submacro de tratamento de erro

A ação de macro OnError é colocada na parte superior da macro e chama o submacro ErrorHandler em caso de erro.

O submacro ErrorHandler só é executado se for chamado pela ação OnError e exibe uma caixa de mensagem que descreve o erro.

Usar o comando Etapa Única

Etapa Única é um modo de depuração de macro que você pode usar para executar uma ação de macro uma de cada vez. Depois que cada ação é executada, uma caixa de diálogo é exibida que exibe informações sobre a ação e quaisquer códigos de erro que ocorreram como resultado. No entanto, como não há descrição do erro na caixa de diálogo Etapa Única da Macro, recomendamos usar o método de submacro de tratamento de erros descrito na seção anterior.

Para iniciar o modo Etapa Única:

  1. Abra a macro no visualização Design.

  2. Na guia Design, no grupo Ferramentas, clique em Etapa Única.

  3. Salve e feche a macro.

Na próxima vez que você executar a macro, a caixa de diálogo Etapa Única de Macro será exibida. A caixa de diálogo exibe as seguintes informações sobre cada ação:

  • Nome da macro

  • Condição (para blocos If)

  • Nome da Ação

  • Argumentos

  • Número do Erro (um número de erro de 0 significa que nenhum erro ocorreu)

Ao passar pelas ações, clique em um dos três botões da caixa de diálogo:

  • Para ver informações sobre a próxima ação na macro, pressione Etapa.

  • Para parar todas as macros que estão em execução no momento, clique em Parar Todas as Macros. O modo Etapa Única ainda estará em vigor na próxima vez que você executar uma macro.

  • Para sair do modo Etapa Única e continuar executando a macro, clique em Continuar.

    Observações: 

    • Se você pressionar Etapa após a última ação em uma macro, o modo Etapa Única ainda estará em vigor na próxima vez que executar uma macro.

    • Para inserir o modo Etapa Única enquanto uma macro está em execução, pressione CTRL+BREAK.

    • Para inserir o modo Etapa Única em um ponto específico em uma macro, adicione a ação de macro SingleStep nesse ponto.

    • O modo Etapa Única não está disponível em um banco de dados da Web.

Início da página

Converter uma macro em código VBA

As macros fornecem um subconjunto dos comandos que estão disponíveis na linguagem de programação Visual Basic for Applications (VBA). Se você decidir que precisa de mais funcionalidade do que as macros podem fornecer, você pode facilmente converter um objeto de macro autônomo em código VBA e, em seguida, usar o conjunto de recursos expandido que o VBA fornece. No entanto, lembre-se de que o código do VBA não será executado em um navegador; qualquer código VBA que você adicionar a um banco de dados da Web só será executado quando o banco de dados estiver aberto no Access.

Observação:  Não é possível converter macros incorporadas em código VBA.

Para converter uma macro em código VBA:

  1. No Painel de Navegação, clique com o botão direito do mouse no objeto de macro e clique em Design.

  2. Na guia Design, no grupo Ferramentas, clique em Converter Macros emVisual Basic .

  3. Na caixa de diálogo Converter macro, especifique se você deseja código de tratamento de erros e comentários adicionados ao módulo VBA e clique em Converter.

O Access confirma que a macro foi convertida e abre Visual Basic Editor. Clique duas vezes na Macro Convertida no painel Projeto para exibir e editar o módulo.

Início da página

Precisa de mais ajuda?

Expanda suas habilidades no Office
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×