NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosLivroexc2007ribbon › Capítulo 1 : 06
Quer receber novidades e e-books gratuitos?
« Anterior Δ Página principal ¤ Índice Próxima »
Programando o RibbonX no Excel 2007
Autor: Robert Friedrick Martim
Lição 06 - Compreendendo o XML: o coração da Faixa de Opções - Parte 3

Posicionamento da guia

No tópico anterior, mostrei as figuras que definem o posicionamento das tabulações no Excel. E o leitor certamente está coçando para saber como isso é feito. Com as propriedades id e label fora do caminho, podemos partir para a questão do posicionamento.
Para posicionamento devemos utilizar as seguintes propriedades (ou atributos) dentro do tag para o tab:

  • insertAfterMso à Insere a guia depois do Mso indicado.
  • insertBeforeMso à Insere a guia antes do Mso indicado

Mas o que é um Mso? Mso refere-se à uma das tabulações padrões do Excel, como seguem:

  • TabHome à Guia “Início” na Faixa de Opções;
  • TabInsert à Guia “Inserir” na Faixa de Opções;
  • TabPageLayout à Guia “Layout de Página” na Faixa de Opções;
  • TabFormulas à Guia “Fórmulas” na Faixa de Opções;
  • TabData à Guia “Dados” na Faixa de Opções;
  • TabReview à Guia “Revisão” na Faixa de Opções;
  • TabView à Guia “Exibição” na Faixa de Opções.

Acredito que já deva ser bastante óbvio a lógica de nomenclatura dos Mso’s.
Mas como nós definimos isso?
A resposta é bastante simples: defina a propriedade (atributo) insertBeforeMso ou insertAfterMso e determine qual Mso você se refere. Por exemplo:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">

  <ribbon>

     <tabs>

       <tab id="meuTab" label="Minha Guia" insertAfterMso="TabHome">

       </tab>

     </tabs>

  </ribbon>
</customUI>
No exemplo acima a guia é inserida após a guia “Início”:

Figura 2‑4 Posicionamento final
Embora possa parecer óbvio, prefiro comentar. O leitor deve se atentar ao fato de que para inserir a guia acima em sua posição podemos utilizar o atributo antes ou depois. Caso seja depois, será após a guia Início (TabHome). Caso seja antes devemos nos referir à guia Inserir (TabInsert).

Adicionando um novo grupo à guia

Agora, vejamos como adicionar um grupo à guia que acabamos de criar. Antes de iniciar o leitor deve se atentar para os dois tipos de grupos:

  • Grupos personalizados à Utilize a propriedade id para identificar um grupo personalizado;
  • Grupos internos à Utilize a propriedade idMso para identificar um grupo interno do Excel

Alguns dos grupos internos são:

  • GroupClipboard à Refere-se ao grupo “clipboard” o qual se encontra na guia Início;
  • GroupFont à Refere-se ao grupo “Font” o qual se encontra na guia Início;
  • GroupShapes à Refere-se ao grupo “Shapes” o qual se encontra na guia Inserir.

Novamente, é relativamente óbvia a nomenclatura utilizada nos nomes dos grupos.
Vejamos então a sintaxe para criação de novos grupos:

<customUI  xmlns="http://schemas.microsoft.com/office/2006/01/customui">
       <ribbon startFromScratch="false">
        <tabs>
          <tab id="meuTab" label="Minha Guia" insertBeforeMso = "TabHome" >
         <!-- Início do primeiro grupo -->     
            <group  id="meuGrupo" label="Meu Grupo 1" > 
         </group  >
         <!--  Início do segundo grupo -->
            <group  id="meuGrupo2" label = "Meu Grupo 2">
         </group>
         <!--  Início do terceiro grupo -->
            <group  idMso="GroupShapes" visible="true" />
       </tab>
         </tabs>
       </ribbon>
   </customUI> 

Os primeiros dois grupos são personalizados ao passo que o terceiro grupo é interno. A figura abaixo mostra a guia compilada:


Figura 2‑5 Primeiro passo para a inserção dos grupos em uma guia

Agora que já temos a nossa guia e grupos, precisamos adicionar os botões de comandos os quais serão utilizados

Adicionando botões de comando aos grupos

Assim como a guia possui a propriedade id e label o botão de comando também possui tais propriedades. Desta forma, não irei quebrar estas duas partes, mas as adicionarei diretamente no código XML:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
      <ribbon startFromScratch="false">
        <tabs>
          <tab
               id="meuTab" 
               label="Minha Guia" 
               insertBeforeMso="TabHome" >
         <group
               id="meuGrupo" 
               label="Meu Grupo 1" >
            <button
                     id="btn1" 
                     imageMso="Italic" 
                     label="Botão Grande" 
                     size="large" 
                     onAction="btnGrande" />
            <button
                     id="btn2" 
                     imageMso="Bold" 
                     label="Botão Normal" 
                     size="normal" 
                     onAction="btnNormal" />
            <button
                     id="btn3" 
                     imageMso="WrapText" 
                     label="Botão Normal" 
                     size="normal" 
                     onAction="btnNormal" />
            <button 
                     id="btn4" 
                     imageMso="ConditionalFormatting" 
                     label="Botão Normal" 
                     size="normal" 
                     onAction="btnNormal" />
            </group >
         <group
               id="meuGrupo2" 
               label = "Meu Grupo 2">
               
               <toggleButton
                     id="b1" 
                     imageMso="HyperlinkInsert" 
                     size="large" 
                     label="Internet" 
                     onAction="abrirNet"/>
            </group>
         <group 
               idMso="GroupShapes" 
               visible="true" />
          </tab>
        </tabs>
      </ribbon>
   </customUI>

Estude o exemplo acima para ver como os botões se relacionam com cada grupo ao qual pertencem. Note também o “onAction”, pois este se refere à macro (callback) que criaremos e que está relacionada ao botão:


Figura 2‑6 Botões adicionados aos grupos

Finalmente, vamos ver como acoplar o código XML ao nosso arquivo Excel no próximo exercício.
« Anterior Δ Página principal ¤ Índice Próxima »

Quer Aprender VBA no Excel, Sem Dificuldades, com Exemplos
Práticos Passo a Passo e com Explicações Detalhadas?

Aprenda com Júlio Battisti: "Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passos

Junto com o livro você Recebe 11 Bônus Incluindo 50 horas de Vídeo Aulas.

Mesmo que Você não Saiba Nada de Programação VBA ou já Tenha Tentado
Aprender VBA e Desistiu ou Achou Difícil, com Este Livro EU GARANTO que Você Aprenderá, SEM DIFICULDADES. APRENDIZADO GARANTIDO.

Clique Aqui Para Todos os Detalhes sobre Esta Oferta

- É com alegria que Comunico o lançamento do meu 42º Livro.

 

- Perfeito para Iniciantes em Programação VBA.

 

- Abordo desde o Básico até Comandos Avançados.

 

- Códigos detalhadamente explicados, linha por linha.

 

- Criação de Funções e Procedimentos com VBA.

 

- O Modelo de Objetos do Excel - Exemplos Práticos.

 

- Criação de Formulários - UseForms.

 

- Criação de um Sistema de Cadastro Completo, com Foto.

 

- Como trabalhar com Tabelas Dinâmicas na Programação VBA.

 

- Como trabalhar com Gráficos na Programação VBA.

 

- Rotina que Escreve um número por Extenso usando VBA.

 

- E muito, muito mais mesmo...

 

- Junto com o livro você recebe 50 horas de Vídeo Aulas sobre Macros, Programação VBA, Fórmulas e Funções Avançadas, Dashboards e Muito mais.

 

[Bônus]: 60 horas de Vídeo Aulas sobre Macros, Programação VBA, Fórmulas e Funções Avançadas no Excel, Recursos Avançados, Dashboards e Muito mais.

 

Aprenda com Júlio Battisti: "Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Uteis - Passo a Passos

Aprenda com Júlio Battisti: "Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Uteis - Passo a Passos

A BÍBLIA DA
PROGRAMAÇÃO
VBA NO EXCEL

 

Quer receber novidades e e-books gratuitos?

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2021 ®

[LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI