Personalize o Word 2007 com botões para acesso rápido às macros criadas
Por Eric Costa

No Office 2003, bastava arrastar e soltar botões e comandos de menu com o mouse para acrescentá-los às barras de ferramentas. No Office 2007, porém, o processo é mais complexo por causa da faixa de comando dinâmica, que exibe itens diferentes dependendo da tarefa que está sendo executada. Há basicamente duas maneiras de criar uma nova guia com botões. A primeira envolve o desenvolvimento em C# ou VB.NET. A outra, mais simples e direta, requer apenas algum conhecimento de XML e VBA. Neste tutorial, vamos criar uma nova guia usando essa segunda técnica, com botões para acesso rápido às macros do usuário. Confira o passo-a-passo a seguir.
1) Editor

Antes de tudo, devemos baixar o programa Office 2007 Custom UI Editor (www.info.abril.com.br/download/5244.shtml), que permite a criação rápida de interfaces personalizadas. A instalação é bem simples e dispensa quaisquer configurações.
2) Estrutura de faixa e botões

Abra o Word e crie um novo arquivo vazio, gravando-o com a extensão DOTM na pasta C:\Documents and Settings\Usuário\Dados de aplicativos\Microsoft\Modelos, substituindo Usuário pelo nome do usuário logado no Windows. Para salvar o arquivo no formato desejado, clique no menu Office e escolha Salvar Como > Modelo do Word. Na janela Arquivo, escolha em Tipo a opção Modelo Habilitado Para Macro do Word. Dê um nome para o arquivo e clique em Salvar. Depois disso, rode o Office 2007 Custom UI Editor e abra o arquivo DOTM gravado.
3) Código da guia

Agora, vamos teclar o código necessário para organizar a nova interface. Para isso, digite o texto abaixo na janela do Office 2007 Custom UI Editor:
<?xml version="1.0" encoding="UTF-8"
standalone="yes">?
<customUI xmlns="http://schemas.microsoft.
com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="CT1" label="Guia-INFO">
<group id="Grp1" label=" Macros">
<buton id="Btn1" label="Macro favorita"
size="normal" onAction="MacroFavorita"/>
<dropDown id="DD label="Lista de
Macros: "onAction="GetDDIndex"
getItemCount= "GetDDCount"
<dropDown>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Vale a pena analisar o código. Note que cada nova guia pode ser criada usando as tags . Aqui, demos o título de Guia-INFO para ela. Analogamente, cada grupo de controles fica entre e . Os controles em nossa guia personalizada são um botão (definido pela tags ), que rodará a macro favorita e uma caixa de seleção (indicada pela tag ), que listará algumas macros que poderão ser acionadas. O item onAction no botão indica a macro que será executada. Já a caixa de seleção será preenchida pelas macros GetDDIndex, GetDDCount e GetDDLabels, que definiremos posteriormente.
Depois de digitar tudo, salve o arquivo e feche o Office 2007 Custom UI Editor:
4) visualização
Rode o Word 2007 e abra o arquivo DOTM gravado. Já podemos ver o visual de nossa guia personalizada, clicando em Guia-INFO. No entanto, nenhum dos controles estará funcionando, pois ainda não criamos as macros referidas no código digitado anteriormente. Vamos começar a fazer isso. Tecle Alt+F11 para alternar para a janela de VBA, onde podemos criar as macros desejadas. Clique, então, com o botão direito em ThisDocument e escolha Inserir > Módulo. Acesse a seção Propriedades no canto inferior esquerdo da tela e tecle, no campo Name, o texto RibbonControl. Crie um novo módulo e agora tecle em Name o texto Macros.
5) Controle da faixa

É hora de criarmos as macros relativas aos controles que definimos. Para isso, clique na janela RibbonControl e tecle este código:
Option Explicit
Sub GetDDIndex(ByVal control As
IRibbonControl, selectedID As String,
selectedIndex As Integer)
Select Case selectedIndex
Case 0
Macros.Macro1
Case 1
Macros.Macro2
Case 2
Macros.Macro3
End Select
End Sub
Sub GetDDCount(ByVal control As
IRibbonControl, ByRef count)
count = 3
End Sub
Sub GetDDLabels(ByVal control As
IRibbonControl, index As Integer, ByRef label)
Dim i As Long
For i = 0 To index
label = Choose(i + 1, “Macro 1”, “Macro 2”,
“Macro 3”)
Next i
End Sub
Sub MacroFavorita (ByVal control As
IRibbonControl)
Macros.MyFav
End Sub
Analisando o código, vemos que a função GetDDIndex retorna a macro apropriada para cada item escolhido na caixa de seleção. A função GetDDCount simplesmente retorna o número de itens da caixa de seleção. Já a função GetDDLabels devolve o título de cada um dos itens da caixa de seleção (os quais definimos apenas como Macro 1, 2 e 3). Por fim, a função MacroFavorita, que é associada ao botão de nossos controles personalizados, roda uma macro denominada MyFav.
6) Macros
O último código a ser adicionado é o de cada macro. Neste exemplo, as macros simplesmente mostrarão uma mensagem. Para isso, acesse a janela Macros e tecle o código:
Option Explicit
Sub MyFav()
MsgBox “Macro favorita!”
End Sub
Sub Macro1()
MsgBox “Macro 1”
End Sub
Sub Macro2()
MsgBox “Macro 2”
End Sub
Sub Macro3()
MsgBox “Macro 3”
End Sub
Aqui o código dispensa maiores comentários. Feche todas as janelas, volte à tela principal do Word, salve e feche o arquivo DOTM.
7) Teste final

Para testar nossa guia personalizada, clique no botão Office do Word e escolha Novo. Clique em Meus Modelos, escolha o arquivo DOTM usado neste tutorial e, depois, pressione o botão OK. A guia Guia-INFO deve aparecer. Clique nela e teste os controles. Agora que você já sabe como criar uma nova guia, personalize-a com suas macros favoritas.
Dicas relacionadas
.:. Macros mais seguras nos programas do pacote Office 2007
.:. Configure o Word 2007 para inserir legendas em imagens de forma automática
.:. Plug-in facilita a integração do Office às aplicações online Zoho