No Microsoft Access, as macros que são 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 distingue das macros de dados, que são anexadas às 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 da interface do usuário.
Observação: Este artigo não é válido para os aplicativos Web do Access.
Neste artigo
Visão geral
As macros podem ser contidas em objetos macro (às vezes chamados de macros autônomos), 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 estão inseridas. Objetos macro estão visíveis no Painel de Navegação, em Macros; 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.
Construtor de Macros
Aqui estão alguns dos principais destaques de recurso do Macro Builder.
-
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 combinações de chaves para gravação de macro mais rápida e fácil.
-
Fluxo de programas Crie macros mais legí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 If aninhado.
-
Reutilização de macro O Catálogo de Ações exibe outras macros que você criou, permitindo copiá-las no 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 site de exemplo de código.
Aqui está um vídeo que orienta você pelas principais áreas do Macro Builder.
Criar uma macro autônoma
Esse procedimento cria um objeto macro autônomo que será exibido em Macros no Painel de Navegação. Macros autônomas são úteis quando você deseja reutilizar a macro em muitos lugares do aplicativo. Ao chamar a macro de outras macros, você pode evitar duplicar o mesmo código em vários lugares.
-
Na guia Criar, no grupo Macros e Código, clique em Macro.
O Access abre o Macro Builder. -
Na Barra de Ferramentas de Acesso Rápido, clique em Salvar.
-
Na caixa de diálogo Salvar como , digite um nome para a macro e clique em OK.
-
Continue com a seção Adicionar ações a uma macro.
Criar uma macro inserida
Esse procedimento cria uma macro que está inserida em uma propriedade de evento de um objeto. Essa macro não aparece no Painel de Navegação, mas pode ser chamada de eventos como On Load ou On Click.
Como a macro se torna parte do formulário ou objeto de relatório, as macros inseridas são recomendadas para automatizar tarefas específicas de um formulário ou relatório específicos.
-
No Painel de Navegação, clique com o botão direito do mouse no formulário ou no relatório que conterá a macro e clique em Modo de Exibição de Layout.
-
Se a Folha de Propriedades não for exibida, pressione F4 para exibi-la.
-
Clique no controle ou na 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 todo o formulário ou relatório) usando a lista suspensa em Tipo de Seleção na parte superior da folha de propriedades.
-
No painel de tarefas Folha de Propriedades, clique na guia Evento .
-
Clique na caixa de propriedade para o evento que você deseja disparar 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 Clicar .
-
Se a caixa de propriedade contiver as palavras [Macro Incorporada], isso significa que uma macro já foi criada para este evento. Você pode editar a macro continuando com as etapas restantes neste procedimento.
-
Se a caixa de propriedade contiver as palavras [Procedimento de Evento], isso significa que um procedimento de 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 examine o procedimento de evento para garantir que a remoção dele não interrompa a funcionalidade necessária no banco de dados. Em alguns casos, você pode recriar a funcionalidade do procedimento VBA usando uma macro inserida.
-
Clique no botão Criar
. -
Se a caixa de diálogo Escolher Construtor for exibida, verifique se o Construtor de Macros está selecionado e clique em OK.
O Access abre o Macro Builder. Continue com a próxima seção para adicionar ações à macro.
Adicionar ações a uma macro
As ações são os comandos individuais que compõem uma macro e cada um é nomeado de acordo com o que ele faz, por exemplo, FindRecord ou CloseDatabase.
Etapa 1: procurar ou pesquisar uma ação de macro
A primeira etapa para adicionar uma ação é encontrá-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 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 suspensa Adicionar Nova Ação e role para baixo para encontrar 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.
-
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 de macro e suas descrições para o texto inserido.
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 apenas 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 macro. É apresentada uma barra de inserção para lhe mostrar onde a ação será inserida quando soltar o botão do rato.
-
Faça duplo clique 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 imediatamente abaixo da selecionada.
-
Se um bloco Grupo, Se, Senão Se, Senão ou Submacro estiver selecionado no painel de macros, o Access adiciona a nova ação a esse bloco.
-
Se nenhuma ação ou bloco estiver selecionado no painel de macros, o Access adiciona a nova ação ao final da macro.
Observações:
-
Se já tiver criado uma ou mais macros, estas estão listadas no nó Nesta Base de Dados no Catálogo de Ações.
-
Arrastar uma macro autónoma (uma que está listada em Macros) para o painel de macro cria uma ação ExecutarMacro que executa a macro que arrastou. Em seguida, pode utilizar a lista pendente para chamar submacros, se existirem.
-
Se apenas quiser 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 rato na mesma no Catálogo de Ações e, em seguida, clique em Adicionar Cópia de Macro.
-
Arrastar uma macro incorporada (uma que está listada sob um objeto de formulário ou relatório) para o painel de macro copia as ações dessa macro para a macro atual.
-
-
Também pode criar uma ação ao arrastar um objeto de base de dados do Painel de Navegação para o painel de macros. Se arrastar uma tabela, consulta, formulário, relatório ou módulo para o painel de macros, o Access adiciona uma ação que abre a tabela, consulta, formulário ou relatório. Se arrastar outra macro para o painel de macros, o Access adiciona uma ação que executa a macro.
-
-
Passo 3: Preencher argumentos
A maioria das ações de macro requer, pelo menos, um argumento. Pode ver uma descrição de cada argumento ao selecionar a ação e, em seguida, ao mover o ponteiro sobre os argumentos. Para muitos argumentos, pode selecionar um valor a partir de uma lista pendente. Se o argumento exigir que escreva uma expressão, o IntelliSense ajuda-o a introduzir a expressão ao sugerir valores possíveis à medida que escreve, conforme mostrado na ilustração seguinte:
Quando vir um valor que pretende utilizar, adicione-o à expressão ao fazer duplo clique no mesmo ou ao utilizar as teclas de seta para realçá-lo e, em seguida, premir a tecla TAB ou ENTER.
Para obter mais informações sobre como criar expressões, consulte o artigo Introdução às expressões.
Acerca da utilização do IntelliSense com propriedades em bases de dados Web
Quando estiver a criar uma macro de IU incorporada num formulário compatível com a Web, o IntelliSense permite-lhe adicionar qualquer propriedade de formulário a uma expressão. No entanto, numa base de dados Web, apenas um subconjunto de propriedades de formulário pode ser acedido através de macros de IU. Por exemplo, tendo em conta um controlo denominado Controlo1 num formulário com o nome Form1, o IntelliSense permite-lhe adicionar [Forms]![ Formulário1]! [Controlo1]. [OrigemDoControlo] para uma expressão numa macro de IU. No entanto, se publicar a base de dados nos Serviços do Access, a macro que contém essa expressão gerará um erro quando for executada no servidor.
A tabela seguinte mostra as propriedades que pode utilizar em macros de IU em bases de dados Web:
Objeto ou controlo |
Propriedades que pode utilizar |
---|---|
Forma |
Legenda, Dirty, AllowAdditions, AllowDeletions, AllowEdits |
Controlo de Tabulação |
Visible |
Rótulo |
Legenda, Visível, Cor do Primeiro Plano, Cor de Fundo |
Anexo |
Visível, Ativado |
Botão de Comando |
Legenda, Visível, Ativado, Cor do Primeiro Plano |
Tex tBox |
Ativado, Visível, Bloqueado, Cor do Primeiro Plano, Cor de Fundo, valor |
Caixa de seleção |
Ativado, Visível, Bloqueado, Valor |
Imagem |
Visível, Cor de Fundo |
Caixa de Combinação |
Ativado, Visível, Bloqueado, Valor |
Caixa de listagem |
Ativado, Visível, Bloqueado, Valor |
Web Browser |
Visible |
Subformulário |
Ativado, Visível Bloqueado |
Controlo de Navegação |
Ativado, Visível |
Mover uma ação
As ações são executadas por ordem, da parte superior para a parte inferior da macro. Para mover uma ação para cima ou para baixo na macro, utilize um dos seguintes métodos:
-
Arraste a ação para cima ou para baixo para o local pretendido.
-
Selecione a ação e, em seguida, prima 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 macros.
Eliminar uma ação
Para eliminar uma ação de macro:
-
Selecione a ação e, em seguida, prima a tecla DELETE. Em alternativa, pode clicar no botão Eliminar (X) no lado direito do painel de macros.
Observações:
-
Se eliminar um bloco de ações, como um bloco Se ou um bloco Grupo , todas as ações no bloco também serão eliminadas.
-
Os comandos Mover para cima, Mover para baixo e Eliminar também estão disponíveis no menu de atalho que é apresentado quando clica com o botão direito do rato numa ação de macro.
-
Controlar o fluxo do programa com If, Else If e Else
Para executar ações de macro apenas quando determinadas condições forem verdadeiras, utilize um bloco Se . Esta ação substitui a coluna Condição que foi utilizada em versões anteriores do Access. Pode expandir um bloco If com os blocos Senão Se e Senão , semelhante a outras linguagens de programação sequenciais, como o VBA.
A ilustração seguinte mostra um bloco Se simples, incluindo os blocos Senão Se e Senão :
O bloco Se é executado se o campo ExpirationDate for inferior à data atual.
O bloco Senão Se é executado se o campo ExpirationDate for igual à data atual.
O bloco Else é executado se nenhum dos blocos anteriores o fizer.
O bloco Se termina aqui.
Adicionar um bloco If a uma macro
-
Selecione Se na lista pendente Adicionar Nova Ação ou arraste-a do painel Catálogo de Ações para o painel de macros.
-
Na caixa na parte superior do bloco Se , escreva uma expressão que determine quando o bloco será executado. A expressão tem de ser Booleana (ou seja, uma que seja avaliada como Sim ou Não).
-
Adicione ações ao bloco Se ao selecioná-las na lista pendente Adicionar Nova Ação que aparece no bloco ou ao arrastá-las do painel Catálogo de Ações para o bloco Se .
Adicionar blocos Senão ou Senão Se a um bloco Se
-
Selecione o bloco Se e, em seguida, no canto inferior direito do bloco, clique em Adicionar Senão ou Adicionar Senão Se.
-
Se estiver a adicionar um bloco Senão Se , escreva uma expressão que determine quando o bloco será executado. A expressão tem de ser Booleana (ou seja, uma que seja avaliada como Verdadeiro ou Falso).
-
Adicione ações ao bloco Senão Se ou Senão ao selecioná-las na lista pendente Adicionar Nova Ação que aparece no bloco ou ao arrastá-las do painel Catálogo de Ações para o bloco.
Observações:
-
Os comandos para adicionar os blocos Se, Senão Se e Senão estão disponíveis no menu de atalho que é apresentado quando clica com o botão direito do rato numa ação de macro.
-
Se os blocos puderem ser aninhados até 10 níveis de profundidade.
-
Criar submacros
Cada macro pode conter várias submacros. Uma submacro foi concebida para ser chamada pelo nome das ações de macro ExecutarMacro ou OnError .
Adicione um bloco Submacro a uma macro da mesma forma que uma ação de macro, conforme descrito na secção Adicionar ações a uma macro. Depois de adicionar um bloco Submacro , pode arrastar ações de macro para o mesmo ou selecionar ações da lista Adicionar Nova Ação que é apresentada no bloco.
Observações:
-
Também pode criar um bloco Submacro ao selecionar uma ou mais ações, clicar com o botão direito do rato nas mesmas e, em seguida, selecionar Criar Bloco de Submacro.
-
As submacros têm de ser sempre os últimos blocos numa macro; Não pode adicionar quaisquer ações (exceto mais submacros) abaixo de uma submacro. Se executar uma macro que contém apenas submacros sem nomear especificamente a submacro pretendida, apenas a primeira submacro será executada.
-
Para chamar uma submacro (por exemplo, numa propriedade de evento ou através da ação ExecutarMacro ou ação OnError ), utilize a seguinte sintaxe:
macroname.submacroname
Agrupar ações relacionadas
Você pode melhorar a legibilidade 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 facilita a visualização de quais ações estão relacionadas entre si. 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 primário é para 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á estiverem na macro, use este procedimento para adicioná-las a um bloco de grupo :
-
Selecione as ações que você deseja agrupar.
-
Clique com o botão direito do mouse nas ações selecionadas e clique em Fazer Bloco de Grupo.
-
Na caixa na parte superior do bloco Grupo , digite um nome para o grupo.
Se as ações ainda não estiverem presentes:
-
Arraste o bloco Grupo do Catálogo de Ações para o painel de macro.
-
Na caixa na parte superior do bloco Grupo , digite um nome para o grupo.
-
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 exibida no 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.
Expandir e recolher ações de macro ou blocos
Quando você cria uma nova macro, o construtor de macro 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 macro (e blocos de ações) enquanto estiver editando a macro. Isso facilita a obtenção de uma visão geral da estrutura da macro. Você pode expandir algumas ou todas as ações conforme necessário para editá-las.
Expandir ou recolher uma única ação ou bloco de macro
-
Clique no sinal de adição (+) 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 bloqueio e pressione as teclas SETA ESQUERDA ou SETA DIREITA para desabar ou expandi-la.
Expandir ou recolher todas as ações de macro (mas não blocos)
-
Na guia Design , no grupo Desabar/Expandir , clique em Expandir Ações ou Ações de Colapso.
Expandir ou recolher todas as ações e blocos de macro
-
Na guia Design , no grupo Desabar/Expandir , clique em Expandir Tudo ou Recolher Tudo.
Dica: Você pode "espiar" dentro de uma ação recolhida movendo o ponteiro sobre a ação. O Access exibe os argumentos de ação em uma dica de ferramenta.
Copiar e colar ações de macro
Se você precisar repetir ações que 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ê cola ações, elas são inseridas logo abaixo da ação selecionada no momento. Se um bloco for selecionado, as ações serão coladas 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 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 de Marcação Extensível) 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 da Web. Em seguida, o destinatário pode copiar o XML e cole-o em seu Construtor de Macros de Acesso. 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 macro RunMacro ou OnError .
-
Insira o nome da macro em uma propriedade Event de um objeto. A macro será executada quando esse evento for disparado.
Depurar uma macro
Se você estiver tendo 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 grava e deixá-las na macro permanentemente. Quando você usa esse método, o Access exibe descrições de erros conforme 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:
-
Abra a macro na exibição Design.
-
Na parte inferior da macro, selecione Submacro na lista suspensa Adicionar Nova Ação .
-
Na caixa à direita da palavra Submacro, digite um nome para o submacro, como ErrorHandler.
-
Na lista suspensa Adicionar Nova Ação que aparece no bloco Submacro , selecione a ação macro MessageBox .
-
Na caixa Mensagem , digite o seguinte texto: =[MacroError].[ Descrição]
-
Na parte inferior da macro, selecione OnError na lista suspensa Adicionar Nova Ação .
-
Defina o argumento Ir comoNome da Macro.
-
Na caixa Nome da Macro , digite o nome do submacro de tratamento de erros (neste exemplo, ErrorHandler).
-
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.
A ação de macro OnError é colocada na parte superior da macro e chama o submacro ErrorHandler no caso de um erro.
O submacro ErrorHandler só será executado se for chamado pela ação OnError e exibir uma caixa de mensagem que descreve o erro.
Usar o comando Etapa Única
A Etapa Única é um modo de depuração de macro que você pode usar para executar uma ação de macro uma por 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á nenhuma 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 de Etapa Única:
-
Abra a macro na exibição Design.
-
Na guia Design , no grupo Ferramentas , clique em Etapa Única.
-
Salve e feche a macro.
Na próxima vez que você executar a macro, a caixa de diálogo 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 if)
-
Nome da ação
-
Argumentos
-
Número de erro (um número de erro de 0 significa que nenhum erro ocorreu)
Ao 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 Etapa.
-
Para interromper todas as macros que estão em execução no momento, clique em Parar 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 executando a macro, clique em Continuar.
Observações:
-
Se você pressionar 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 está em execução, pressione CTRL+BREAK.
-
Para inserir o modo de Etapa Única em um ponto específico em uma macro, adicione a ação de macro SingleStep nesse ponto.
-
O modo De etapa única não está disponível em um banco de dados Web.
-
Converter uma macro em código VBA
As macros fornecem um subconjunto dos comandos que estão disponíveis na linguagem de programação VBA (Visual Basic for Applications). Se você decidir que precisa de mais funcionalidade do que as macros podem fornecer, você pode converter facilmente um objeto macro autônomo em código VBA e, em seguida, fazer uso do conjunto de recursos expandido que o VBA fornece. Tenha em mente, no entanto, que o código VBA não será executado em um navegador; qualquer código VBA que você adicionar a um banco de dados Web só será executado quando o banco de dados estiver aberto no Access.
Observação: Você não pode converter macros inseridas em código VBA.
Para converter uma macro em código VBA:
-
No Painel de Navegação, clique com o botão direito do mouse no objeto macro e clique na exibição Design.
-
Na guia Design , no grupo Ferramentas , clique em Converter Macros no Visual Basic.
-
Na caixa de diálogo Converter macro , especifique se você deseja manipular o código e os comentários adicionados ao módulo VBA e clique em Converter.
O Access confirma que a macro foi convertida e abre a Editor do Visual Basic. Clique duas vezes na Macro Convertida no painel Projeto para exibir e editar o módulo.