top of page

inscreva-se

  • YouTube ícone social

VBA!

Sem título.png

Canal no Youtube criado por Amanda Nascimento 

EXCEL
POWER QUERY
POWER PIVOT
OFFICE SCRIPT

RIBBON

Ribbon é a barra de ferramentas gráfica localizada na parte superior da interface de aplicativos do Microsoft Office (como Word, Excel, PowerPoint, entre outros). É uma característica central dos aplicativos Office, projetada para melhorar a produtividade e a experiência do usuário, agrupando recursos de forma lógica e acessível. ​

Para cria-la, você precisa baixar o arquivo (OfficeRibbonXEditor-NETFramework.exe) com final.exe no link abaixo.

Office RibbonX Editor é uma ferramenta moderna baseada no .NET Framework que foi desenvolvida como uma alternativa ao Custom UI Editor.

​

​

​

​

​

​

​​

​

​

Abra o programa Office Ribbon

Abra a planilha que você deseja mexer pelo programa Office Ribbon

No menu, clique em Insert e em seguida, Excel - A Custom Tab.xml

Será criado uma guia de exemplo, de forma automática. Salve o arquivo. 

Agora, qualquer usuário que abrir esta planilha, irá constar esta nova guia personalizada. 

RIBBON IMAGENS

Opção 1: Utilizar as imagens do próprio office. Abra o arquivo pdf abaixo, e após escolher a imagem que irá utilizar, você irá precisar apenas do nome imageMso

Opção 2:  utilizar os ícones. Será necessário efetuar o download das imagens que escolher.

Opção de inserir imagens do computador:

No próprio Ribbon, clique no menu superior em "Insert Icon"

COMO USAR

Ao abrir o Ribbon clique em Insert, Sample XML, Excel A Custom Tab.xml e abra a planilha que deseja.

​

O primeiro passo é criar a guia, então vamos lá!

​

​

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    
   <ribbon>
       <tabs>
           <tab id="id_recrutamento" label="Recrutamento e Seleção" insertBeforeMso="tabHome">

​

​

     id significa o nome que                                                                             Nome imagem Mso

     estou atribuindo                                      nome da guia

​

​

​

​

Com isso, lá nas guias no topo superior: Arquivo, Página Inicial, Inserir, etc, no final, terá a guia Recrutamento e seleção a partir de agora.
 

​

A estrutura será: Nome da Guia  --> Grupos --> Nome dos botões

​

​

<group id="gr_consulta" label="Apenas consultas">

 
                    <button id="b_home" size="large" label="Início" onAction="conSelecionar_Planilha_Inicio" imageMso="BlogInsertCategories"/>

                    <separator id="separator1"/>

 
                    <button id="b_controle_vagas" size="large" label="Controle Vagas" onAction="conSelecionar_Planilha_Controle_Vagas" imageMso="GroupPrintPreviewZoom"/>
                    


                    <button id=  insira aqui mais botões para este grupo!         />
                   
              
               </group>
           </tab>  
       </tabs>
   </ribbon>
</customUI>

​

EXEMPLO PRÁTICO

ribbon3.jpg

Código deste exemplo completo:

​

​

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    
   <ribbon>
       
       <tabs>
           
           <tab id="id_recrutamento" label="Recrutamento e Seleção" insertBeforeMso="tabHome">

                <group id="gr_consulta" label="Apenas consultas">
                   
                    <button id="b_home" size="large" label="Início" onAction="conSelecionar_Planilha_Inicio" imageMso="BlogInsertCategories"/>

                    <separator id="separator1"/>
                   
                    <button id="b_controle_vagas" size="large" label="Controle Vagas" onAction="conSelecionar_Planilha_Controle_Vagas" imageMso="GroupPrintPreviewZoom"/>
                    
                    
                    <button id="b_base_totvs" size="large" label="Base TOTVS" onAction="conSelecionar_Planilha_Base_Totvs" imageMso="GroupPrintPreviewZoom"/>
                    
                 
                    
                    <button id="b_base_qp" size="large" label="Base QP" onAction="conSelecionar_Planilha_Base_QP" imageMso="GroupPrintPreviewZoom"/>
                    
               
                    
                    <button id="b_base_stand_by" size="large" label="Stand By" onAction="conSelecionar_Planilha_Base_Stand_By" imageMso="GroupPrintPreviewZoom"/>
                    
               </group>

                <group id="gr_atualizacao" label="Atualizações">
                   
                    <button id="b_atualizar_controle_vagas" size="large" label="Controle Vagas" onAction="conAtualizar_Controle_Vagas" imageMso="QuickPartsInsertFromOnline"/>

                    <separator id="separator2"/>
                   
                    <button id="b_geral" size="large" label="Atualizar planilha" onAction="conAtualizar_Geral" imageMso="MergeOptions"/>
                   
               </group>
           
               <group id="gr_formularios" label="Inclusões">
                   
                   <button id="b_iniciar_form" size="large" label="Iniciar Forms" onAction="conIniciar_Form" imageMso="AccessOnlineLists"/>
                   
                   <separator id="separator3"/>
                   
                    <button id="b_base_analise_geral" size="large" label="Etapas" onAction="conSelecionar_Planilha_Base_Analise_Geral" imageMso="GroupControlAlignmentLayout"/>

                    <separator id="separator4"/>
                   
                    <button id="b_manutencao" size="large" label="Manutenção" onAction="conSelecionar_Planilha_Fonte" imageMso="GroupTools"/>

                </group>
           
           </tab>
               
       </tabs>
           
   </ribbon>
       
</customUI>

APÓS CONFIGURAR O CÓDIGO ACIMA...

No Menu superior do Ribbon, clique em "Validate" para garantir que não tenha nenhum erro no código digitado. 

​

Posteriormente, clique em "Generate Callbacks" para que possamos ter um "guia" para o VBA, copie salva, e feche o Ribbon. 

​

​

Abra a planilha novamente, abra o VBE, insira um módulo, sugiro renomear o nome do módulo para mRibbon para facilitar a manutenção posteriormente caso seja necessário. 

​

Lembrando que tudo que começar com ' significa que é um comentário e o que estiver nesta linha, não será executado.

​

Copie e cole no módulo criado, o código que o Ribbon gerou anteriormente, e insira a ação do que é para o Excel fazer.

​​

​

Abaixo constam três exemplos, o primeiro para ir para a guia que chama Início.

O Segundo exemplo, ao clicar no botão Atualizar_Geral, será chamado o módulo Call e o último exemplo, ao clicar no botão inserido, o Excel irá abrir o formulário.

​

VBA:​

​

'Callback for b_home onAction
       Public Sub conSelecionar_Planilha_Inicio(control As IRibbonControl)

             Inicio.Select

       End Sub

​

​

'Callback for b_geral onAction
         Public Sub conAtualizar_Geral(control As IRibbonControl)

            Call Atualizar_tudo

         End Sub

​

​

'Callback for b_iniciar_form onAction
         Public Sub conIniciar_Form(control As IRibbonControl)

            Forms1.Show vbModeless
         End Sub

EXEMPLO PRÁTICO 2 

Antes de começarmos, veja o resultado:

ribbon.jpg

Ao abrir o Office Ribbon Editor, com a planilha fechada, apague o código que já esta lá, e digite o código abaixo, mas fazendo as edições que deseja.

​

​

Exemplo do código inicial, você poderá utilizar como exemplo, ou apagá-lo e seguir o exemplo abaixo (CTRL C +CTRL V)

​

​

​

​

​

​

   

​

​

​

​

​

​

​

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
   <ribbon>
       <tabs>
           
           
                 <tab id="id_recrutadores" label="Regionais" insertAfterMso="Paste">
               
                  <group id="gr_regional_Sul" label="Regional Sul">
           
                   <button id="b_REG_SUL_ETAPA" size="large" label="Etapas" onAction="Acao_Planilha_Sul_ETAPA" imageMso="ModuleInsert"/>
                   <button id="b_REG_SUL_TOTVS" size="large" label="Totvs" onAction="Acao_Planilha_Sul_TOTVS" imageMso="ResearchPane"/>
                   <button id="b_REG_SUL_INICIO" size="large" label="Início" onAction="Acao_Planilha_Sul_INICIO" imageMso="ScreenNavigatorBackMenu"/>
             
                    <separator id="separator1"/>
                     </group>
                

                
                  <group id="gr_regional_Capital" label="Regional Capital">
               
                   <button id="b_REG_CAPITAL_ETAPA" size="large" label="Etapas" onAction="Acao_Planilha_Capital_ETAPA" imageMso="ModuleInsert"/>
                   <button id="b_REG_CAPITAL_TOTVS" size="large" label="Totvs" onAction="Acao_Planilha_Capital_TOTVS" imageMso="ResearchPane"/>
                   <button id="b_REG_CAPITAL_INICIO" size="large" label="Início" onAction="Acao_Planilha_Capital_INICIO" imageMso="ScreenNavigatorBackMenu"/>
                  
                   
                    <separator id="separator2"/>
                     </group>
                

                
                  <group id="gr_regional_NorteLeste" label="Regional Norte Leste">
               
                   <button id="b_REG_NORTELESTE_ETAPA" size="large" label="Etapas" onAction="Acao_Planilha_NorteLeste_ETAPA" imageMso="ModuleInsert"/>
                   <button id="b_REG_NORTELESTE_TOTVS" size="large" label="Totvs" onAction="Acao_Planilha_NorteLeste_TOTVS" imageMso="ResearchPane"/>
                   <button id="b_REG_NORTELESTE_INICIO" size="large" label="Início" onAction="Acao_Planilha_NorteLeste_INICIO" imageMso="ScreenNavigatorBackMenu"/>
                    <separator id="separator3"/>
                     </group>
             


                  <group id="gr_regional_ZonaDaMata" label="Regional Zona da Mata">
               
                   <button id="b_REG_ZONADAMATA_ETAPA" size="large" label="Etapas" onAction="Acao_Planilha_ZonaDaMata_ETAPA" imageMso="ModuleInsert"/>
                   <button id="b_REG_ZONADAMATA_TOTVS" size="large" label="Totvs" onAction="Acao_Planilha_ZonaDaMata_TOTVS" imageMso="ResearchPane"/>
                   <button id="b_REG_ZONADAMATA_INICIO" size="large" label="Início" onAction="Acao_Planilha_ZonaDaMata_INICIO" imageMso="ScreenNavigatorBackMenu"/>
                    <separator id="separator4"/>
                     </group>
              
               
                  <group id="gr_regional_Triangulo" label="Regional Triângulo">
               
                   <button id="b_REG_TRIANGULO_ETAPA" size="large" label="Etapas" onAction="Acao_Planilha_Triangulo_ETAPA" imageMso="ModuleInsert"/>
                   <button id="b_REG_TRIANGULO_TOTVS" size="large" label="Totvs" onAction="Acao_Planilha_Triangulo_TOTVS" imageMso="ResearchPane"/>
                   <button id="b_REG_TRIANGULO_INICIO" size="large" label="Início" onAction="Acao_Planilha_Triangulo_INICIO" imageMso="ScreenNavigatorBackMenu"/>
                    <separator id="separator5"/>
                     </group>
             
             
                  <group id="gr_regional_Sede" label="Regional Sede">
               
                   <button id="b_REG_SEDE_ETAPA" size="large" label="Etapas" onAction="Acao_Planilha_Sede_ETAPA" imageMso="ModuleInsert"/>
                   <button id="b_REG_SEDE_TOTVS" size="large" label="Totvs" onAction="Acao_Planilha_Sede_TOTVS" imageMso="ResearchPane"/>
                   <button id="b_REG_SEDE_INICIO" size="large" label="Início" onAction="Acao_Planilha_Sede_INICIO" imageMso="ScreenNavigatorBackMenu"/>
                     </group>
             

 


                </tab>
                    
                    

                
                    <tab id="id_diversos" label="Diversos" insertAfterMso="Paste">

                   <group id="gr_diversos" label="Diversos">
           
                   <button id="b_manutencao" size="large" label="manutencao" onAction="Acao_Planilha_MANUTENCAO" imageMso="GroupSmartArtShapes"/>
                   <separator id="separator6"/>
                   <button id="b_BASE_COMPL_TOTVS" size="large" label="Totvs" onAction="Acao_Planilha_GERAL_TOTVS" imageMso="InsertBuildingBlocksHeaderGallery"/>
                     <separator id="separator7"/>
                   <button id="b_INICIO" size="large" label="Início" onAction="Acao_INICIO" imageMso="ScreenNavigatorBackMenu"/>

                      </group>    
                    
                    
                     </tab>
                    
                    
                    
       </tabs>
           
   </ribbon>
       
</customUI>

​

​

ribbonexemplo.jpg

© 2017-2026  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page