Criar uma macro de interface do usuário

No Microsoft Access, as macros anexadas a objetos da interface do usuário (IU), como botões de comando, caixas de texto, formulários e relatórios, são conhecidas como macros da interface do usuário. Isso o distingue de macros de dados, que são anexadas a tabelas. Você usa macros (de 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 o construtor de macros recém reprojetado 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 a aplicativos Web do Access.

Neste artigo

Visão geral

Construtor de Macros

Criar uma macro autônoma

Criar uma macro inserida

Adicionar ações a uma macro

Controlar o fluxo do programa se, senão, se e mais

Criar submacros

Agrupar ações relacionadas juntas

Expandir e recolher ações de macro ou blocos

Copiar e colar ações de macro

Compartilhar uma macro com outras pessoas

Executar uma macro

Depurar uma macro

Converter uma macro em código VBA

Visão geral

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

Cada macro é composta por 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

Veja alguns dos principais destaques do recurso Construtor de macros.

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

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

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

  • Fluxo do programa    Crie macros mais legíveis com linhas de comentário e grupos de ações.

  • Instruções condicionais    Permitir a execução lógica mais complexa com suporte a aninhado if/else/else if.

  • Reutilização de macro    O catálogo de ações exibe outras macros que você criou, permitindo que você as copie para o que você está trabalhando.

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

Aqui está um vídeo que o orienta nas principais áreas do construtor de macros.

Seu navegador não oferece suporte a vídeo. Instale o Microsoft Silverlight, o Adobe Flash Player ou o Internet Explorer 9.

Início da página

Criar uma macro autônoma

Este procedimento cria um objeto de macro autônomo que será exibido em macros no painel de navegação. As macros autônomas são úteis quando você deseja reutilizar a macro em muitos locais do aplicativo. Chamando a macro a partir de outras macros, você pode evitar a duplicação do mesmo código em vários lugares.

  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 inserida

Esse procedimento cria uma macro incorporada em uma propriedade de evento de um objeto. Tal macro não é exibida no painel de navegação, mas pode ser chamada de eventos como ao carregar ou ao clicar.

Como a macro se torna parte do objeto de formulário ou relatório, as macros incorporadas são recomendadas para automatizar tarefas que são 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, em seguida, 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 de evento 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 lista suspensa 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 Propriedade do evento que você deseja que acione a macro. Por exemplo, para um botão de comando, se você quiser que a macro seja executada quando o botão for clicado, clique na caixa de propriedade ao clicar .

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

  7. Se a caixa de propriedades contiver as palavras [procedimento do evento], isso significa que um procedimento do Visual Basic for Applications (VBA) já foi criado para esse evento. Antes de inserir uma macro no evento, será necessário remover o procedimento. Você pode fazer isso excluindo as palavras [procedimento do evento], mas primeiro examine o procedimento de evento para garantir que a remoção não desconectará a funcionalidade necessária no banco de dados. Em alguns casos, você pode recriar a funcionalidade do procedimento VBA usando uma macro inserida.

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

  9. Se a caixa de diálogo escolher Construtor for exibida, verifique se a opção Construtor de macros está selecionada 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

Ações são os comandos individuais que compõem uma macro, e cada um deles é nomeado de acordo com o que faz, por exemplo, EncontrarRegistro ou FecharBancoDeDados.

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

A primeira etapa ao adicionar uma ação é localizá-la na lista suspensa Adicionar nova ação ou no catálogo de ações.

Observações: 

  • Por padrão, a lista suspensa Adicionar nova ação e o catálogo de ações exibe 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 localizar uma ação, use um dos seguintes métodos:

  • Clique na seta na lista suspensa Adicionar nova ação e role para baixo para localizar a ação. Os elementos de fluxo do programa 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.

  • Procure a ação no painel catálogo de ações digitando na caixa de pesquisa na parte superior do painel. À medida que você digita, a lista de ações é filtrada para mostrar todas as macros que contêm esse texto. O Access pesquisa os nomes das macros 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 desejada, adicione-a à macro usando um destes métodos:

  • Selecione uma ação na lista Adicionar nova ação ou basta começar 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 será exibida para mostrar onde a ação será inserida quando você soltar o botão do mouse.

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

    • Se uma ação for selecionada no painel de macros, o Access adicionará a nova ação logo abaixo da selecionada.

    • Se um grupo, se, senão, ousubmacro for selecionado no painel de macro, o Access adicionará a nova ação a esse bloco.

    • Se nenhuma ação ou bloco estiver selecionado no painel de macros, o Access adicionará 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 lista que está listada em macros) para o painel de macro cria uma ação ExecutarMacro que executa a macro que você arrastou. Em seguida, você pode usar a lista suspensa para fazer chamadas para submacros, se houver.

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

        • Arrastar uma macro incorporada (uma lista que está listada em um objeto de formulário ou relatório) para o painel de macros 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 adicionará uma ação que abre a tabela, consulta, formulário ou relatório. Se você arrastar outra macro para o painel de macros, o Access adicionará uma ação que executa a macro.

Etapa 3: preencher argumentos

A maioria das ações de macro requer pelo menos um argumento. Você pode exibir uma descrição de cada argumento selecionando a ação e, em seguida, movendo o ponteiro sobre os argumentos. Para muitos argumentos, você pode selecionar um valor de uma lista suspensa. Se o argumento exigir que você digite uma expressão, o IntelliSense o ajuda a inserir a expressão sugerindo valores possíveis à medida que 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 direção para realçá-lo e, em seguida, pressionando a tecla TAB ou ENTER.

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

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

Quando você cria uma macro de interface do usuário inserida em um formulário compatível com a Web, o 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 do formulário pode ser acessado usando macros de interface do usuário Por exemplo, dado um controle chamado Control1 em um formulário chamado Form1, o IntelliSense permitirá que você adicione [formulários]! [Form1]! [Control1]. [OrigemDoControle] a uma expressão em uma macro de interface do usuário. No entanto, se você publicar o banco de dados para acessar serviços, 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 de interface do usuário em bancos de dados da Web:

Propriedades que você pode usar

Forma

Legenda, Dirty, PermitirAdições, PermitirExclusões, PermitirEdições

Controle guia

Visible

Rótulo

Legenda, visível, cor do primeiro plano, cor do fundo

Anexo

Visível, habilitado

Botão de comando

Legenda, visível, habilitada, cor do primeiro plano

Tex tBox

Habilitada, visível, bloqueada, cor do primeiro plano, cor do fundo, valor

Caixa de seleção

Habilitado, visível, bloqueado, valor

Imagem

Cores de fundo visíveis

Caixa de combinação

Habilitado, visível, bloqueado, valor

Caixa de listagem

Habilitado, visível, bloqueado, valor

Navegador da Web

Visible

Subformulário

Habilitado, visível bloqueado

Controle de navegação

Habilitado, visível

Mover uma ação

As ações são executadas em ordem, da parte superior até a parte inferior 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 até o local desejado.

  • Selecione a ação e pressione CTRL + seta para cima ou CTRL + seta para baixo.

  • Selecione a ação e, em seguida, 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, em seguida, pressione a tecla DELETE. Você também pode clicar no botão excluir (X) no lado direito do painel de macro.

    Observações: 

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

    • Os comandos mover para cima, mover para baixoe 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 do programa se, senão, se e mais

Para executar ações de macro somente quando determinadas condições forem verdadeiras, use um bloco se . Isso substitui a coluna de condição usada em versões anteriores do Access. Você pode estender um bloco se com blocos else e else semelhantes , semelhantes a outras linguagens de programação sequencial, como VBA.

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

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

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

O bloco else se executará se o campo ExpirationDate for igual à data atual.

O bloco else será executado se nenhum dos blocos anteriores fizerem isso.

O bloco se termina aqui.

Adicionar um bloco se a uma macro

  1. Selecione se na lista suspensa Adicionar nova ação ou arraste-a 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 booliana (ou seja, uma que é avaliada como Sim ou não).

  3. Adicione ações ao bloco se selecionando-os na lista suspensa Adicionar nova ação que aparece dentro do bloco ou arrastando-os do painel catálogo de ações para o bloco se .

Adicionar Else ou else se bloquear a um bloco se

  1. Selecione o botão Se Bloquear e, em seguida, no canto inferior direito do bloco, clique em Adicionar else ou Adicionar senão se.

  2. Se você estiver adicionando um bloco se mais , digite uma expressão que determina quando o bloco será executado. A expressão deve ser booliana (ou seja, uma que é avaliada como true ou false).

  3. Adicione ações ao bloco else ou else selecionando-os na lista suspensa Adicionar nova ação que aparece dentro do bloco ou arrastando-os do painel catálogo de ações para o bloco.

    Observações: 

    • Os comandos para adicionar se, senão, os blocos, e outros , estão disponíveis no menu de atalho exibido quando você clica com o botão direito do mouse em uma ação de macro.

    • Os blocos podem ser aninhados até 10 níveis de profundidade.

Início da página

Criar submacros

Cada macro pode conter várias submacros. Uma submacro é projetada para ser chamada pelo nome das ações de macro ExecutarMacro ou OnError .

Adicione um bloco de submacro a uma macro da mesma maneira que uma ação de macro, conforme descrito na seção Adicionar ações a uma macro. Depois de adicionar um bloco de submacro , você pode arrastar as ações de macro para ele ou selecionar ações na lista Adicionar nova ação que aparece dentro do bloco.

Observações: 

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

  • Submacros sempre devem ser os últimos blocos em uma macro; Não é possível adicionar ações (exceto mais submacros) abaixo de uma submacro. Se você executar uma macro que contenha apenas submacros sem nomear especificamente a submacro desejada, somente a primeira submacro será executada.

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

    macroname. submacroname

Início da página

Agrupar ações relacionadas juntas

Você pode melhorar a legibilidade de uma macro agrupando ações em conjunto e atribuindo um nome significativo para o 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 com as outras. Um bloco de grupo não afeta a forma como as ações são executadas, e o grupo não pode ser chamado ou executado individualmente. Seu uso principal é para rotular um grupo de ações para ajudá-lo a entender a macro enquanto você a lê. Além disso, ao editar uma macro grande, você pode recolher cada bloco de grupo até uma única linha, reduzindo a quantidade de rolagem que você precisa fazer.

Se as ações que você deseja agrupar já estiverem 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, em seguida, clique em criar bloco de grupo.

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

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

  1. Arraste o bloco de grupo do catálogo de ações para o painel de macros.

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

  3. Arraste ações de macro do catálogo de ações para o bloco de grupo ou selecione ações na lista Adicionar nova ação que aparece dentro do bloco.

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 recolher ações de macro ou blocos

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 recolher algumas ou todas as ações de macro (e blocos de ações) enquanto estiver editando a macro. Isso torna mais fácil obter uma visão geral da estrutura da sua macro. Você pode expandir algumas ou todas as ações necessárias para editá-las.

Expandir ou recolher uma única ação de macro ou bloco

  • Clique no sinal de mais (+) ou subtração (-) à esquerda da macro ou nome do bloco. Ou, se preferir, pressione as teclas de seta para cima e seta para baixo para selecionar uma ação ou bloco e, em seguida, pressione as teclas seta para a esquerda ou seta para a direita para recolher ou expandi-la.

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

  • Na guia design , no grupo recolher/expandir , clique em expandir ações ou em recolher ações.

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

  • Na guia design , no grupo recolher/expandir , clique em expandir tudo ou em recolher tudo.

Dica:  Você pode "inspecionar" dentro de uma ação recolhida movendo o ponteiro sobre a ação. O Access exibe os argumentos da 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 já foram adicionadas a uma macro, poderá copiar e colar as ações existentes como faria com parágrafos de texto em um processador de texto. Quando você cola ações, elas são inseridas logo abaixo da ação selecionada no momento. Se um bloco estiver selecionado, as ações serão coladas dentro do bloco.

Dica:  Para duplicar rapidamente as ações selecionadas, mantenha pressionada a tecla CTRL e arraste a (s) ação (ões) para o local na macro em que 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 coladas como XML (linguagem XML) em qualquer aplicativo que aceite texto. Isso permite que você envie uma macro para um colega através de uma mensagem de email ou poste a macro em um fórum de discussão, em um blog ou em outro site da Web. Em seguida, o destinatário pode copiar o XML e colá-lo no construtor de macros do Access 2010. A macro é recriada da mesma forma que 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 ExecutarMacro ou OnError .

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

Início da página

Depurar uma macro

Se você estiver tendo problemas para executar uma macro, existem algumas ferramentas que você pode usar para acessar a origem do problema.

Adicionar ações de manipulação de erros a uma macro

Recomendamos adicionar ações de manipulação de erros a cada macro à medida que você escrevê-la 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 dos erros ajudam a entender o erro para que você possa corrigir o problema mais rapidamente.

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

  1. Abra a macro no modo Design.

  2. Na parte inferior da macro, selecione submacro na lista suspensa Adicionar nova ação .

  3. Na caixa à direita da submacrodo Word, digite um nome para a submacro, como ErrorHandler.

  4. Na lista suspensa Adicionar nova ação que aparece dentro do bloco de submacros , selecione a ação de macro MessageBox .

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

  6. Na parte inferior da macro, selecione OnError na lista suspensa Adicionar nova ação .

  7. Defina o argumento ir para para o nome da macro.

  8. Na caixa nome da macro , digite o nome da submacro de tratamento de erros (neste exemplo, ErrorHandler).

  9. Arraste a ação de macro OnError para o topo da macro.

A ilustração a seguir mostra uma macro com a ação OnError e uma submacro chamada 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 a submacro ErrorHandler no caso de um erro.

A submacro ErrorHandler só é executada se for chamado pela ação OnError e exibir uma caixa de mensagem que descreva o erro.

Usar o comando etapa única

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

Para iniciar o modo de etapa única:

  1. Abra a macro no modo Design.

  2. Na guia design , no grupo ferramentas , clique em única etapa.

  3. Salve e feche a macro.

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

  • Nome da macro

  • Condição (para blocos se)

  • Nome da ação

  • Argumentos

  • Número do erro (um número de erro 0 significa que não ocorreu um erro)

À medida que você percorrer as ações, clique em um dos três botões na caixa de diálogo:

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

  • Para interromper qualquer macro que esteja em execução no momento, clique em interromper todas as macros. O modo de etapa única ainda estará em vigor na próxima vez que você executar uma macro.

  • Para sair do modo de etapa única e continuar a executar a macro, clique em continuar.

    Observações: 

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

    • Para inserir o modo de etapa única enquanto uma macro estiver em execução, pressione CTRL + BREAK.

    • Para inserir o modo de etapa única em um ponto específico de uma macro, adicione a ação de macro PassoÚnico nesse ponto.

    • O modo de 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 de comandos disponíveis na linguagem de programação do Visual Basic for Applications (VBA). Se você decidir que precisa de mais funcionalidade do que as macros podem fornecer, é possível converter facilmente um objeto de macro autônomo em código VBA e, em seguida, usar o conjunto de recursos expandido que o VBA fornece. Lembre-se, no entanto, de que o código 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 inseridas 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 modo Design.

  2. Na guia design , no grupo ferramentas , clique em converter macros em Visual Basic.

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

O Access confirma se a macro foi convertida e abre o editor do Visual Basic. Clique duas vezes na macro convertida no painel projeto para ver e editar o módulo.

Início da página

Observação:  Esta página foi traduzida automaticamente e pode apresentar erros gramaticais ou imprecisões. Nosso objetivo é que este conteúdo seja útil para você. Você pode nos dizer se as informações foram úteis? Use o artigo em inglês como referência.​

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.

×