Cavalcante Consultores – treinamento e consultoria em finanças e Excel

Adicionando e removendo sua barra de ferramentas personalizada a sua planilha com VBA

Cavalcante Consultores > Biblioteca de Excel > Adicionando e removendo sua barra de ferramentas personalizada a sua planilha com VBA

Introdução

Um recurso interessante que o Microsoft Excel disponibiliza é a criação de uma barra de ferramentas personalizada que contém os atalhos de maior interesse para um determinado usuário ou planilha. Além disso, ele permite que você anexe essa barra de ferramentas à sua planilha, o que faz que esta acompanhe a planilha, fazendo que esta apareça em todo computador em que for aberta.

O problema

É uma funcionalidade muito interessante. Seria perfeita se não fosse por apenas um problema. Quando outro usuário abre a planilha que contém a barra de ferramentas anexada, mesmo que este não abra mais esta planilha ou até a exclua do disco, a barra de ferramentas continuará adicionada a seu Microsoft Excel, o que pode até mesmo gerar erros de execução, forçando o usuário a excluí-la manualmente, desde que este tenha conhecimento para isto.

Porém, é possível contornar tal problema através de Macros que são executadas em momentos específicos, mais precisamente ao abrir a planilha que é quando a nova barra de ferramentas é adicionada e ao fechá-la, que é quando esta deve ser excluída.

Este é o processo mais aconselhado, pois toda vez em que o usuário fechar a pasta de trabalho, a barra de ferramentas será excluída.

Para efetuar este processo, vamos assumir que temos uma barra de ferramentas personalizada já criada de nome "Nova Barra" com alguns botões padrão do Microsoft Excel, conforme a figura abaixo:

Agora, anexe esta barra de ferramentas à pasta de trabalho, clicando em:

Isso faz com que em qualquer computador em que esta planilha seja aberta, a barra de ferramentas Nova Barra seja instalada. Nestas condições, todos os problemas listados acima transcorrerão.

Solução

Para resolver o problema de forma automatizada, será necessária a utilização de código VBA. Capturaremos os eventos Workbook_Open, que ocorre quando a pasta de trabalho é aberta Workbook_BeforeClose que ocorre um pouco antes desta ser fechada. Abra o VBA em Ferramentas->Macro->Editor do Visual Basic (Alt+F11) e na janela de projeto, clique duas vezes no item Esta Pasta de Trabalho para abrir a janela de código. Nesta janela, insira o seguinte:

CommandBars é uma coleção que se refere a todas as Barras de ferramentas do Microsoft Excel que existem no contexto atual. Através desta, é possível obter informações e manipular de forma completa as barras de ferramentas, até sua criação completo por meio de código VBA. Para nosso caso, precisaremos apenas trabalhar algumas propriedades.

O código faz com que, ao ser aberta, a pasta de trabalho habilite a barra de ferramentas "Nova Barra" (linha 6), que existe em seu contexto pois ela foi anexada a esta. Na linha 2, dentro o evento Workbook_BeforeClose que ocorre pouco antes da planilha ser fechada, a barra de ferramentas é excluída, deixando de existir pelo menos para aquela instalação do Microsoft Excel.

Feito isto, é possível testar a funcionalidade. Feche a planilha atual. Abra-a (não se esqueça de ativar as Macros) novamente e veja que a barra de ferramentas "Nova Barra" é mostrada. Esse é o comportamento normal, mesmo sem a adição das Macros. Agora, feche e salve a planilha.

Abra o Excel (no o arquivo com a barra criada anteriormente, e sim o programa Microsoft Excel) novamente criando uma nova pasta. Veja que a barra de ferramentas "Nova Barra" já não é mais mostrada. Para conferir a não existência desta, vá ao menu Ferramentas->Personalizar e na aba "Barras de ferramentas", confira que a "Nova Barra" já não existe mais.

Para conferir o teste, tente abrir esta planilha em outro computador.

Observação: Se as macros não forem ativadas, a barra de ferramentas será adiciona pois está anexada à pasta de trabalho, mas não será excluída.

Conclusão

Utilizando esta forma de gerenciamento das barras de ferramentas, além de resolver o problema da população desenfreada de barras personalizadas, é possível gerenciar corretamente suas barras de ferramentas, permitindo a construção de planilhas completas e que não deixam resíduos nos computadores de outros usuários.