top of page

inscreva-se

  • YouTube ícone social

VBA!

Canal no Youtube criado por Amanda Nascimento 

Sem título.png
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-2025  Criado e desenvolvido por Amanda Nascimento

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