Vídeo - Criando Ribbons - parte 2 ( English Version )
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito, através do Paypal.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Aonde as Ribbons ficam armazenadas ?
As ribbons podem ficar armazenadas em três locais distintos:
1 - numa tabela de sistema, de nome USysRibbons que você mesmo
deve criá-la;
2 - numa tabela comum, com qualquer nome que você deseje dar a ela;
3 - fora do Access, num arquivo com extensão XML.
Quais campos devemos criar nas tabelas ?
id - AutoNumeração;
RibbonName - Texto - 255;
RibbonXml - Memorando.
Qual é a diferença entre a tabela de sistema e a tabela comum ?
Na tabela de sistema UsysRibbons , as ribbons já são carregadas no seu aplicativo , sem a necessidade de qualquer programação. Seus nomes aparecem na lista de propriedades dos objetos e na configuração de inicialização do aplicativo.
A figura abaixo apresenta a configuração de inicialização da Ribbons, que fica nas Opções do Access em Banco de Dados Atual.
Aparecem também na lista de propriedades de formulários e relatórios:
Como carregar no sistema, as ribbons armazenadas de tabela comum (tblRibbons) e do arquivo XML?
Você deve usar a macro AutoExec para executar uma função que carregue na inicialização do aplicativo, as ribbons armazenadas na tabela ou arquivo XML.
Veja o código exemplo que carrega as ribbons no sistema, armazenadas na tabela tblRibbons:
Faça o login aqui para ter acesso ao código.
Agora, observe o código exemplo que carrega as ribbons no sistema, armazenadas no arquivo XML:
Faça o login aqui para ter acesso ao código.
É preciso referenciar uma classe do Office
Para se ter acesso às propriedades das ribbons pelo vba é necessário referenciar a classe Microsoft Office 12.0 Object Library.
Abra o VBA e no menu Ferramentas, clique em Referências.
Selecione Microsfot Office 12.0 Object Library
Qual atributo devemos usar para dar funcionalidade aos botões de uma ribbon ?
O atributo utilizado para isso é o onAction. Com ele podemos chamar uma função ou uma macro para executar uma determinada ação, como por exemplo , a abertura de um formulário.
É aqui que você verá a funcionalidade do id, do qual falei bastante na primeira aula.
Um exemplo de controle Button com o atributo onAction:
Faça o login aqui para ter acesso ao código.
Agora, observe o código da função fncOnAction:
Faça o login aqui para ter acesso ao código.
O control.id tem o valor Id do botão que foi clicado e com o SELECT, configuramos o comando adequado a ser aplicado para o botão acionado.
Conheça o controle splitButton:
O controle splitButton em conjunto com o controle buttom são os controles mais usados e suficientes para a maioria dos projetos.
Veja na figura, um splitButton:
Observe abaixo, a estrutura do splitButton e veja que ele trabalha em conjunto com os controles MENU e BUTTON. O exemplo desta montagem, você verá na vídeo-aula.
Aplicativo exemplo
Montei um pequeno arquivo exemplo para você estudar e exercitar esta aula. Este arquivo exemplo inclui o controle de usuários que é explicado neste artigo.
Vídeo-aula
Nesta vídeo-aula, você irá aprender como configurar o controle splitButton. Irá acompanhar como exportar as ribbons para o aplicativo exemplo e por fim, aprenderá como configurar a função que dá funcionalidade aos botões da ribbon.
Faça o login aqui para ter acesso ao vídeo.
Introdução: As presentes Vídeos-aulas apresentam uma visão estrutural básica sobre ribbons e pretendem abrir a sua mente para o entendimento do que é possível ser feito com esta fácil programação. |
Links |
Temas abordados |
---|---|
Todas as informações necessárias para você adquirir esta incrível ferramenta. | |
Breve apresentação do MontaRibbons Noção estrutural da xml empregada Como desabilitar toda a faixa superior do Acess Usando imagens da galeria do Office Usando controles internos do Office Personalizando a barra de ferramentas de acesso rápido
Personalizando o Botão Office
Como criar uma ribbon personalizada
|
|
Alterando os controles em tempo de execução, usando os atributos get
Como configurar a ribbon para a troca de idioma
Como ocultar/desabilitar os botões da ribbon, em
função do usuário logado
Para saber como montar o controle
personalizado de acesso de usuários, utilizado no arquivo
exemplo desta aula, leia o artigo.
O arquivo exemplo desta
vídeo-aula se encontra na pasta [exemplos] do MontaRibbons. O
nome do arquivo é Maestro_idiomas.accdb
(disponível somente para quem adquirir o MontaRibbons). |
|
Uso de imagens externas (GIF, JPEG, PNG e ICO) | |
Uso de imagens externas (GIF, JPEG, PNG e ICO) armazenadas em tabela local |
48 comentários BAIXAR MATERIAL 29/06/2023 04:21:57 Olá, sou cadastrado no site, e não consigo baixar os arquivos. Tem que ter plano de pagamento para poder baixar? Avelino Sampaio 06/10/2021 10:29:28 Marcelo, utilize o navegado Internet Explorer. Sucesso! Marcelo 06/10/2021 01:27:31 Bom dia! Qual é o plugin usado neste site, pois estou com o Windows 8 e não consigo fazer rodar. Luiz Antonio Farias 12/09/2021 02:04:22 Olá Avelino. Estou usando o Monta Ribbon para uma aplicação em minha empresa. Criei um botão que excuta a Função abaixo, só que ela dá erro exibindo a seguinte mensagem: Erro em tempo de Execução '2046': O comando ou a ação 'SaídaPara' não está disponível agora. Quando esta é executada fora do MontaRibbon ela funciona perfeitamente. Poderia me ajdar na solução deste problema? Já tentei disparando a chamada do código por Macro e o mesmo acontece. Abaixo o código: Public Function EnviaAtualizações() DoCmd.SetWarnings False Beep MsgBox "Atenção !! Gerando arquivos de atualizações para envio por e-mail a Força de Vendas", vbInformation, "Exportação de Dados para Atualização da Força de Vendas" Beep MsgBox "Gerando Arquivo de Usuários para envio", vbExclamation, "Exporta Arquivo de Usuários Atualizados" DoCmd.SendObject acTable, "Usuarios", "Excel97-Excel2003Workbook(*.xls)", "lasfarias@hotmail.com", "", "", "Atualização e-CAD - Usuários", "Prezado Consultor. Por favor atualize seu sistema e-CAD com esta nova versão de dados de usuários do sistema.", False, "" Beep MsgBox "Gerando Arquivo de Agencias de Vendas Atualizados", vbExclamation, "Exporta Agencias de Vendas" DoCmd.SendObject acTable, "AgenciadeVendas", "Excel97-Excel2003Workbook(*.xls)", "lasfarias@hotmail.com", "", "", "Atualização e-CAD - Agência de Vendas", "Prezado Consultor. Por favor atualize seu sistema e-CAD com esta nova versão de dados de Agência de Vendas.", False, "" Beep MsgBox "Gerando Arquivo de Escritório de Vendas", vbExclamation, "Exporta Escritório de Vendas" DoCmd.SendObject acTable, "EscritoriodeVendas", "Excel97-Excel2003Workbook(*.xls)", "lasfarias@hotmail.com", "", "", "Atualização e-CAD - Escritório de Vendas", "Prezado Consultor. Por favor atualize seu sistema e-CAD com esta nova versão de dados de Escritório de Vendas.", False, "" Beep MsgBox "Gerando Arquivo de Grupo de Preços", vbExclamation, "Exporta Grupo de Preços" DoCmd.SendObject acTable, "GrupodePrecos", "Excel97-Excel2003Workbook(*.xls)", "lasfarias@hotmail.com", "", "", "Atualização e-CAD - Grupo de Preços", "Prezado Consultor. Por favor atualize seu sistema e-CAD com esta nova versão de dados de Grupo de Preços.", False, "" Beep MsgBox "Gerando Arquivo de Clientes Cadastros no SAP", vbExclamation, "Exporta Cadastro de Clientes SAP" DoCmd.SendObject acQuery, "ClientesSAP", "Excel97-Excel2003Workbook(*.xls)", "lasfarias@hotmail.com", "", "", "Atualização e-CAD - Clientes SAP", "Prezado Consultor. Por favor atualize seu sistema e-CAD com esta nova versão de dados dos Clientes SAP.", False, "" Beep MsgBox "Gerando Arquivo de Grupo de Clientes", vbExclamation, "Exporta Grupo de Clientes" DoCmd.SendObject acTable, "GrupodeClientes", "Excel97-Excel2003Workbook(*.xls)", "lasfarias@hotmail.com", "", "", "Atualização e-CAD - Grupo de Clientes", "Prezado Consultor. Por favor atualize seu sistema e-CAD com esta nova versão de dados de Grupo de Clientes.", False, "" Beep MsgBox "Arquivos enviados com sucesso.", vbExclamation, "Fim de Envio." End function Wiraktan Cidrin 28/07/2021 18:36:37 Obrigado Avelino! Deu certo! valeu! Avelino Sampaio 25/07/2021 08:11:47 Wiraktan, Cole esta função em um módulo global. Sucesso! Wiraktan 23/07/2021 23:27:15 Avelino! Tenho visitado sempre o seu site. Estou tentando aprender a usar e construir as ribbons, já estou aprendendo a criar os grupos e guias, botões, mas na hora de colocar para funcionar os botões aí estou levando pau. Segui seu exemplo acima mas ainda nao estou conseguindo. Está função eu posso colocar em qualquer módulo? Public Sub fncOnAction(control As IRibbonControl) Select Case control.Id Case "btClientes" Docmd.OpenForm "frmClientes" 'Abre formulário cliente Case Else MsgBox "Você clicou no botão " & control.Id, vbInformation, "Aviso" End Select End Sub Jorge Luiz Marsola Correa 14/07/2021 14:29:52 Muito bom, o tutorial, alem de ilustrar com detalhes o uso do aplicativo, tambem demonstra com clareza o funcionamento dos ribbons. Parabens Avelino Sampaio 01/05/2021 05:29:31 Jader, obrigado pelo seu feedback e sucesso! Jader Ricardo 30/04/2021 02:18:14 Avelino, Desculpe a minha falta de atenção, foi erro meu aqui ... hehehe ... chamei o formulário forçando o estilo "popup" .... DoCmd.OpenForm "Meuformulario", acNormal, , , , acDialog Jader Ricardo Jader Ricardo 30/04/2021 01:57:56 Avelino, Acabei de seguir os passos da video aula 2 e exportei minha ribbon para o meu aplicativo. No meu aplicativo uso meus formulários com "abas", ou seja, quando executo o formulário ele fica "preso" abaixo da ribbon. Agora, com a nova ribbon, o formulário esta ficando como se estive configurado para "Popup = Sim". Sabe me dizer o que pode ser isso? Grato, Jader Ricardo Avelino Sampaio 24/04/2021 05:12:33 Luís Antonio, para modificar um checkbox tem que utilizar o atributo getPressed, conforme exemplo abaixo: checkBox id="chbAgenda" label="Agenda" getPressed="fncGetPressed" onAction="fncOnAction" Para disparar o getPressed use o "Invalidate" ou o "InvalidateControl". Veja o uso destes comandos no meu artigo sobre os controles da ribbon Combobox e Dropdown. Sucesso! Luis Antonio de Oliveira 23/04/2021 17:37:07 Boa tarde Avelino. Gostaria de saber se é possível alimentar uma ribbon do tipo checkbox através de um campo Sim/Não de uma tabela. obrigado. Avelino Sampaio 20/04/2021 04:03:37 LS, baixe da seção Download, aqui do site, o aplicativo Maestro. Assim teras uma boa noção do que é possível realizar com as ribbons. O Montaribbons é o melhor kit do mundo para se aprender do zero. Não hesite em comprar pois terá minha TOTAL assessoria por email e pelo MSN. Bom estudo! LS 19/04/2021 20:26:41 Obrigado, mas eu já fiz igualzinho, copiei e colei seu código xml e não carrega lá em cima. http://maximoaccess.maisforum.com/t7212-ribbon-nao-aparece-no-nome-da-faixa-de-opcoes#58335 Se possível, abra meu arquivo e veja se aparece ou se tem algo de errado no código. Sobre a aplicação XML, mesmo ainda não tendo conseguido, não sabia que seria possível criar essas ribbons, me interessei pelas Ribbons e pretendo adquirir o seu software, não tenho dúvidas que criar um projeto usando ribbons é a melhor coisa. Avelino Sampaio 19/04/2021 06:16:16 LS, tem que assistir as duas primeiras vídeos-aulas, para rapidamente enteder como contruir as ribbons e implementá-las. Bom estudo! LS 18/04/2021 23:47:35 Estou querendo comprar, mas antes eu prefiro resolver minhas dúvidas. Eu criei a tabela USysRibbons e crio o campo ID, Descrição e o do xml e coloquei esse código : Só pra criar um grupo mesmo... Porém, quando salvo e vou olhar lá em "Nome da Faixa de Opções", não aparece nada. E agora, o que faço? Dietrich Rocha 30/03/2021 10:19:02 Avelino, essa video aula 2 nao esta disponivel para download, seria possivel disponibilizar o link ? Tiago Bizze 04/03/2021 13:23:38 Boa taerde Avelino! Primeiro quero unir-me aos colegas que já postaram agradecendo por esta preciosa ferramenta que é o MontaRibbons: muito útil, fácil e eficaz! Valeu pela idéia por compartilha-la! Estou c/ um problema: Montei a Ribbon tudo ok c/ botões já c/ ações, tudo certinho. Estou tentando importa-la em meu aplicativo via importação de XML com uso da função "fncCarregaRibbonXml()", porém ta dando erro 3265 "Item não encontrado nesta coleção". Descobri que é na linha: "Application.LoadCustomUI rsXml!RibbonNome, strOut". Depurando, mais especificamente fi que o item não encontrado refere-se a "rsXml!RibbonNome". Aguardo ajuda! Avelino Sampaio 05/01/2021 11:18:00 Jr, passei para o seu email o procedimento de compra do MontaRibbons. o OPEN e o Maestro são de uso livre. Grato Jr 04/01/2021 14:11:58 Caro Avelino, No caso de publicar uma aplicação no Sharepoint....tem algum problema de compatibilidade? Estou meio "boiando" com relação ao Sharepoint....mas gostaria de comprar o Cria ribbons bem como usar o OPEN e o Maestro para dar segurança as minhas aplicações. Obrigado. Avelino Sampaio 22/12/2020 06:56:40 Aldo, te passei os dados Obrigado Aldo Pini Junior 21/12/2020 23:26:04 Olá Avelino, vc pode me mandar os dados para depósito? Meu email é aldopini@yahoo.com.br No aguardo Avelino Sampaio 10/12/2020 06:28:57 Alan, compra o MontaRibbons que eu te ofereço toda a assessoria necessária. Aproveita que ano que vem o valor do aplicativo vai subir de preço. Sucesso Avelino Sampaio 10/12/2020 06:10:48 Junior Rocha, Você pode comprar fazendo um depósito ou através de boleto bancário. Mandei pro seu email todos os detalhes. Grato pela sua decisão de compra e garanto que foi um ótimo investimento na sua profissão. Sucesso JUNIOR ROCHA 10/12/2020 01:36:41 Amigo como compro o programa? junior@spacedigital.com.br Aguardo URGENTE.. Alan 09/12/2020 13:16:23 Boa tarde, tudo bem! Eu mudei a forma de montar as ribbons. Optei por fazer uma Ribbon utilizando os sliptbutton, atendeu bem o que eu queria. Mas, aproveito para lhe perguntar. Você tem algum exemplo ou sabe como deixar nos buttons e na ribbons imagens de sua escolha. Abraços Alan. alan.silva@saofrancisco.edu.br thiago 05/12/2020 11:45:35 Olá, Como faço para adquirir o software monta ribbons. Parabéns pelo trabalho. Avelino Sampaio 02/12/2020 16:25:40 Alan, lembrando que você pode montar uma ribbom específica para cada formulário. Quando você então carrega um formulário de pedidos, por exemplo, a ribbon deste formulário é carregada, substituindo a ribbon principal. Quando fechar o formulário de pedidos a ribbon principal volta a aparecer. Sucesso Avelino Sampaio 02/12/2020 16:19:27 Alan, Não li a respeito se tem limite mas fiz um teste aqui com 11 guias e funcionou sem problemas. Considero 11 guias até uma quantidade excessiva. Portanto devendo atender a qualquer projeto Sucesso Alan 02/12/2020 13:17:24 Desculpa me expressei não me expressei bem. Existe limite de guias em uma ribbon? Alan 02/12/2020 13:07:32 Avelino, Existe limite para a quantidade de ribbons? Avelino Sampaio 22/11/2020 05:45:20 Alexandre, você se refer ao aplicativo exemplo Maestro ? Qual é mensagem do erro ? Qual é versão do seu Access ? No aguardo Alexandre 21/11/2020 14:47:11 Olá, eu teste e não funcionou, aparece que tem um erro na sintaxe da macro ou código. me ajude !! JUJU 02/11/2020 17:55:28 AI QUE CHIQUE, GOSTEI, E O TIPO DE FERRAMENTA QUE SEMPRE QUIS, TODA COLORIDA CHEIA DE ENFEITE, MUITO BOA. JÁ TO USANDO, MUITO BOA BEIJOS JUJU BAIHA Avelino Sampaio 20/10/2020 09:59:47 Olá JBSR, Realmente, esta talvez seja a primeira ferramenta criada em Access com este propósito. O que mais me deixa feliz é o fato do MontaRibbons , no só servir como um assistente na criação das Ribbons, mais também de ser uma ferramenta, que proporciona ao utilizador, uma rápida curva de aprendizagem no uso da XML empregada. Sucesso JBSR-Kartoffel 16/10/2020 15:09:48 Através de aplicações assim que dá orgulha de ser brasileiro. Eu já vasculhei a Net em busca de ferramentas para essa mesma função. Não existe ferramenta com essa grau de facilidade e com o MELHOR custo benefício. Nosso companheiro Avelino está de parabens com essa ferramenta. Pedro 13/10/2020 16:04:45 Excelente aula. Estou ansioso pela 3ª aula! Márcio 03/10/2020 15:32:27 Ótima video aula! Milquizedeque Almeida 18/05/2020 13:28:32 Olá avelino. Montei uma ribbon no meu projeto numa boa. Realmente uma ferramenta incrível. Minha dúvida Se precisar alterar a ribbon que já está no projeto. Qual é o melhor caminho? No próprio access? Ou devo voltar ao montaRibbon? Se voltar, perderei as modificações que já fiz nos códigos quando transferir a nova? Como posso usar imagens alem das do montaRibbon? Abração e parabéns pelo programa. Warley 15/05/2020 11:19:53 Olá! Quanto tento exportar a ribbon para "\\Meuservidor\Meuprojeto\meuprojeto.accdb, recebo o erro " O caminho informado não está correto". Onde estou errando? Desde já, agradeço. Rui Ramos 21/04/2020 17:24:10 Fantástico, nunca tinha visto algo tão completo, Parabêns Avelino Sampaio 30/03/2020 17:52:48 Alan, sim, é possível. Como sugestão você pode alterar um controle LABEL, usando o getLabel labelControl id = "lbSoma" getLabel = "fncGetLabel" Sucesso Alan 30/03/2020 13:29:33 Boa tarde, tudo bem! Avelino, Você saberia informar, se é possível colocar por exemplo um resultado de uma soma em uma ribbon? Se sim, você teria algum exemplo? Agradeço pela atenção. Cristyan 24/03/2020 15:01:46 Hum legal. Já havia encontrado essa ribbon para o Excel. Pensei que havia uma para o Access pronta também, mas não encontrei. Muito obrigado! Avelino Sampaio 24/03/2020 10:32:07 Cristyan, É uma ribbon personalizada, contendo nome por nome. A microsoft oferece um arquivo que se instala no Excel. Procure no google com a frase "gallery Office 2007" que vc irá encontrar o arquivo. Sucesso Cristyan 23/03/2020 15:03:13 Prezado Avelino, Como você consigo a guia das Gallerys no access? Grato. Ronnie Ricarth 10/03/2020 16:44:11 Olá Avelino, estou usando o montaribbon, tudo certo, montei as ribbons que queria a as adicionei aos meus aplicativos, montei as ribbons no esquema office 2007, porém, quando inicio os aplicativos em pcs com office 2007 aparece mensagem de incompatibilidade de versão, não impede o funcionamento, mas aparece a mensagem ao abrir e ao fechar o aplicativo. |