inscreva-se
VBA!
Canal no Youtube criado por Amanda Nascimento
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
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:
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>