Noções Básicas Sobre Personalização de Ribbons
02/10/2013 18:47Introdução
Ribbon é a interface gráfica de menus que a Microsoft começou a utilizar a partir do Microsoft 2007:
Na figura acima, os Ribbons são representados pela região do retângulo azul, os Menus pelo retângulo verde e o QAT (Quick Access Toolbar) pelo retângulo rosa. Observe que os Ribbons são dividos em grupos, que no caso acima, são os grupos Área de Transferência, Fonte e Alinhamento. Cada um dos grupos possui uma série de botões.
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:
Infelizmente, personalizar Menus, Visão Backstage, Botão Office e Ribbons não é uma tarefa simples. Esta página tem o objetivo de mostrar as ferramentas e os passos de como fazer isso.
Para começarmos, primeiro devemos entender algumas coisas importantes.
Documentos Office são Arquivos Compactados
Já reparou que documentos do Office 200710 com o mesmo volume de informação de um do 2003 são significativamente menores? Isso ocorre por causa da 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.
Arquivos que Contém Informações sobre Personalização de Ribbons
Para personalizarmos ribbons e menus nos documentos Office, devemos criar um arquivo chamado customUI.xml e/oucustomUI14.xml dentro dessa estrutura de pastas. Esses arquivos contém as informações que uma aplicação Office irá ler quando montará os menus e os ribbons. Observe que:
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 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 linkhttps://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.
Abaixo segue um exemplo simples de como se usar essa ferramenta para personalizar Ribbons.
Abra o Custom UI Editor e clique no ícone 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 do 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="https://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <tabs> <tab idMso="TabHome" > <group id="customGroup1" label="Meu Grupo" insertAfterMso="GroupEditingExcel"> <button id="customButton1" 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 idMso (identificador) é de código TabHome (código para indicar o menu Página Inicial). Então, dentro desse menu, cria-se um novo grupo de identificador customGroup1 e seu label (texto) será Meu Grupo. Ele deverá ser inserido após o identificador de código GroupEditingExcel.
Em seguida, dentro desse grupo, cria-se um botão cujo identificador é customButton1, 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á respresentá-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: https://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: https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6627
Lista de imagens (ícones) para o Excel 2007: https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11675
Lista de imagens (ícones) para o Excel 2010: https://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 o novo grupo e botão que foram criados:
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:
Nas aplicações Office 1997-2003, quando se criava um menu personalizado, deveria-se remover o mesmo ao se fechar o documento. A vantagem dos ribbons é que ao se sair da aplicação, todas as personalizações são removidas automaticamente.
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.
———
Voltar