Criando Soluções inteligentes

Noções Básicas Sobre Personalização de Ribbons

02/10/2013 18:47
 

Introduçã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ênciaFonte 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.

 

Exemplo - Criar um Botão no Menu Página Inicial

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

Pesquisar no site

Excel Soluções