Ribbon é a interface gráfica de menus que a Microsoft
começou a utilizar a partir do Office 2007, e representa a principal
substituição dos menus e barra de ferramentas das versões anteriores.
A ampla região retangular, na parte superior do Excel é
conhecida como Faixa de Opções. Ela
contém a Barra de Título, a Barra de Ferramentas de Acesso Rápido e as Guias.
O Office 2010 possui também uma área chamada Backstage View (menu Arquivo no Office
2010 ou Botão Office no Office 2007) que é mostrado abaixo:
O similar à Visão Backstage no Office 2007 é o Botão
Office, mostrado abaixo:
Podemos criar Ribbons personalizadas para nossos
aplicativos, proporcionando uma aparência e navegação de ótima qualidade.
Veja abaixo um exemplo de uma ribbon totalmente
personalizada que desenvolvi sob medida para uma empresa:
Mas, infelizmente, personalizar os Menus, Visão Backstage,
Botão Office e Ribbons não é uma tarefa tão simples.
O objetivo deste artigo é mostrar como funciona a criação
de um Ribbon personalizada e as ferramentas para fazer isso, de modo que
seus aplicativos fiquem com uma aparência profissional e protegidos contra
alterações indesejadas.
Para começarmos, primeiro devemos entender algumas coisas
importantes.
Documentos
Office são arquivos compactados
Você já reparou que documentos do Office 2007/10 com o
mesmo volume de informação de um do 2003 são significativamente menores? Isso
ocorre por causa do novo formato de documento do Office 2007/10, que são
arquivos XML zipados. Para provarmos isso, clique com o botão direito sobre um
formato de documento do Office 2007/10 no Explorer, clique em Abrir com e, em seguida, Escolher programa padrão...:
Na janela que aparecer, desabilite a opção Sempre
usar o programa selecionado para abrir este tipo de arquivo (senão
todas as vezes que você abrir o tipo de arquivo desejado, ele não será aberto
pelo sua aplicação padrão Office correspondente) e, na lista de programas,
selecione um compactador/descompactador de arquivos, que no meu caso é o
WinRAR. Em seguida, clique em OK:
O resultado se encontra na figura abaixo:
Observe que temos uma estrutura de pastas dentro do
arquivo do documento Office. Dependendo da aplicação, do tipo de extensão e
outros fatores, a estrutura de pastas e arquivos contidos pode ser diferente.
O Office tem assistente para montar as ribbons ?
Surpreendentemente a Microsoft lançou o Office 2007 sem
um assistente para isso, obrigando a todos a ter um mínimo de conhecimento de
XML, que é a linguagem de programação usada para montar ribbons.
O Office 2010 vem com um assistente, mas que ainda surpreende
por ser muito básico.
Se existe apenas o arquivo customUI.xml, tanto a aplicação Office 2007 e 2010 personalizarão os menus e ribbons de acordo com informações desse arquivo.
Se existe apenas o arquivo customUI14.xml, somente a aplicação Office 2010 personalizará os menus e ribbons de acordo com informações desse arquivo (lembre-se que o 14 significa que a versão do Office 2010 é a 14). O documento abrirá com menus e ribbons do modo padrão em aplicações do Office 2007.
Se existem ambos arquivos customUI.xml e customUI14.xml, significa que quando o documento for aberto por uma aplicação Office 2007, os ribbons e menus serão personalizados de acordo com as informações do arquivo customUI.xml e se aberto por uma do Office 2010, serão personalizados de acordo com informações do customUI14.xml.
O
que eu devo saber sobre XML?
O XML tem semelhanças com HTML, sendo a principal, o fato
de utilizarem tags (palavras-chaves e atributos). Cada tag consiste em duas
partes: uma que inicia e outra que fecha.
Exemplo: <inicia
tag> ... </fecha tag>
Diversos controles foram criados pela Microsoft para
personalizar a Faixa de Opções. Tem controles para montar a arquitetura XML
adotada, alterar as configurações do Office e desenhar as ribbons.
Cada um dos controles tem que ser alocado em um lugar
apropriado, dentro de uma arquitetura, para que o interpretador (esquema) faça
a tradução de forma correta.
Preste bastante atenção na arquitetura apresentada abaixo
que deve começar a se familiarizar:
Agora, observe bem, a figura abaixo com a distribuição
das tags e seus respectivos controles:
Veja como fica a estrutura sem a representação gráfica:
Cada controle vem com atributos para configuração. Como exemplo,
no controle botão <button> podemos atribuir o seu tamanho, legenda,
imagem, torná-lo visível, desabilitado e outros. Um dos atributos obrigatórios,
em diversos controles, é o id, que é uma identificação exclusiva que devemos
dar ao controle, para ser identificado, por exemplo, quando clicamos nele para
executar uma ação.
Observe a XML abaixo com esses atributos, em vermelho,
inseridos em algumas tags:
<commands>...</commands>
<qat><documentControls> ... </documentControls></qat>
<officeMenu> ... </officeMenu>
<tabs>
<tab id = "tab1" label = "Minha Ribbon">
</group>
</tab>
</tabs>
</ribbon>
<backstage> ... </backstage>
</customUI>
Veja como ficaria o resultado deste exemplo:
O
Custom UI Editor
Para gerenciar a criação e alteração desses dois importantes arquivos dentro dos documentos Office, sugiro o uso do Custom UI Editor, que é gratuito, leve, livre de vírus (projeto open source) e pode ser obtido no link http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2006/05/26/customuieditor.aspx. Esta página mostra como se personalizar menus e ribbons com o auxílio desse software, e os exemplos serão na aplicação Excel, mas o mesmo pode ser feito com outras aplicações Office.
Agora vou ensinar você a criar sua própria ribbon, e vou tomar o exemplo citado acima.
Depois de instalado, abra o Custom UI Editor e clique no ícone do amarelo para abrir um documento:
Na janela que aparecer, vá até o caminho do documento Office que deseja alterar o Ribbon e clique em Abrir:
O resultado será:
Agora, vamos criar o arquivo que conterá as instruções na linguagem XML dentro do documento Office. Como queremos que as instruções sejam válidas tanto para as aplicações Office 2007 e 2010, devemos selecionar a opção Office 2007 Part para criar o arquivo customUI.xml. Para tal, basta clicar com o botão direito do mouse no documento e com o esquerdo nessa opção, como mostrado abaixo:
Observe que o arquivo foi criado:
Devemos escrever nosso código no lado direito da divisória. Vamos experimentar o código abaixo:
<customUI
xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="tab1" label="Minha Ribbon">
<group id="grp1" label="Meu Grupo">
<button id="button01" label="Clique Aqui" size="large" onAction="Teste" imageMso="HappyFace" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
A tela do editor ficará como mostrado abaixo:
Observe a hierarquia dessa estrutura XML, é bem intuitiva. Dentro dos ribbons, entra-se no grupo das tabs (menus). Entra-se, especificamente na tab (menu) cujo id (identificador) é tab1, o atributo label é o nome que aparecerá na Faixa de Opções do Excel. Dentro desse menu, cria-se um novo grupo de identificador grp1 e seu label (texto) será Meu Grupo.
Em seguida, dentro desse grupo, cria-se um botão cujo identificador é button01, seu label (texto) será Clique Aqui, seu tamanho (size) será grande, porque é atribuído large a seu valor, e, ao clicar nele, será executada uma macro chamada Teste (por causa do atributo onAction) e a imagem do ícone que irá respresenta-lo será de código HappyFace.
Escrever um código como esse do zero normalmente não é simples. A melhor forma de personalizar ribbons é pegar exemplos prontos e alterar/duplicar os blocos de código desejados.
Existe uma lista compreensiva que dita qual é o código de cada um dos menus das aplicações do Office, bem como seus grupos, botões e imagens.
Para saber a lista de botões, grupos e menus das aplicações Office 2007: http://www.microsoft.com/download/en/details.aspx?DisplayLang=en&id=3582
Para saber a lista de botões, grupos e menus das aplicações Office 2010: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6627
Lista de imagens (ícones) para o Excel 2007: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11675
Lista de imagens (ícones) para o Excel 2010: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21103
Voltando ao exemplo, clique no ícone de salvar:
Em seguida, abra o documento Office. Note que
a nova guia foi criada:
O botão ainda não possui funcionalidade. Para atribuirmos uma função à
ele, crie um módulo com o código:
Sub Teste(control As IRibbonControl)
MsgBox "Olá!"
End Sub
Observe que é necessária a declaração do Procedimento incluindo o parâmetro (control
As IRibbonControl).
Ao clicar no botão, teremos então como resultado:
Observação: Se você tentar criar uma pasta na estrutura do arquivo do
Excel (ou PowerPoint ou Word) de forma a imitar os arquivos criados pelo Custom UI Editor, não
será mostrado o ribbon personalizado. Isso acontece porque é necessário alterar
alguns relacionamentos dentro de outros arquivos da estrutura XML do documento
Office, tarefa que o Custom UI Editor se encarrega de fazer automaticamente,
tendo então assim mais um motivo para ser utilizado.
Bem, isso é o básico que você precisa saber sobre criação e edição de ribbons. Com este conhecimento você poderá desenhar seus menus personalizados e aplicar em suas planilhas.
Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.























