Alterando a cor do Access Runtime
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.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Resolvi instalar o Access Runtime 2010 e experimentar se era possível trocar a sua cor básica prata para azul ou preta e para a minha surpresa foi possível, já que se trata de uma configuração geral do Office e não do Access, em particular!
Como configurar?
O Access Runtime não possibilita acesso a nenhum tipo de configuração, via tela de designer ou ribbons básicas, pois estes não estão presentes. Desta forma, configurações só podem ser feitas mediante o uso do VBA. No caso, em particular da troca de cor, a definição fica armazenada na chave THEME, no registro do Windows e no seguinte endereço:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Theme (1-Azul , 2-Prata, 3-Preto)
Usando o Windows Scripting, podemos com algumas poucas linhas alterar/criar a chave THEME, no registro do Windows. Veja a função abaixo, que serve tanto para o Access 2007 quanto para o Access 2010:
Faça o login aqui para ter acesso ao código.
Para alterar a cor , basta executar o procedimento: Call fncCorAccess(Preto)
Reiniciando o Access
O único porém é que a cor só é alterada na abertura seguinte do Access. Para criar um efeito imediato na configuração, montei um código que reinicia automaticamente a aplicação. Aqui está:
Faça o login aqui para ter acesso ao código.
Segue, para você testar, um exemplo que funciona também no Access completo. Observe que utilizo o macro AutoExec que é para configurar a cor desejada, logo na inicialização. Neste exemplo, a cor padrão que configurei foi a preta.
Bom estudo!
Os dez artigos mais visitados
MontaRibbons v.7.0 - Assistente completo para criar ribbons no Access
Vídeo - Controle personalizado de Acesso de Usuários
Vídeo - Aprenda sobre filtragens
Vídeo - Segurança máxima, usando o OPEN
Uma ajuda para quem está começando um negócio ou um projeto
Integrando o Access com Servidor MySQL - Introdução
Desabilitando a faixa(ribbon) superior do Access
Vídeo - Programação de relatórios - Parte 1
Como carregar o seu menu sem que ele vá para lista de suplementos
Vídeo - Criando Ribbons parte 1 - Conhecendo a estrutura Xml
16 comentário(s) Wilson Roberto Vasques Nunes 13/07/2023 17:29:16 Olá! Parabéns aos envolvidos nestas dicas. Muito bem escritas e bastante didáticas. Recentemente eu adquiri o Office 365 com a finalidade precípua de migrar um sistema de administração de condomínios originalmente desenvolvido por mim na versão 97 (salvo equívoco) do Access. Aliás eu conheço o Access desde a versão 1.0. Não existia nem módulos, era tudo por macros. Imagina... Parei as migrações na versão 2003 e agora resolvi revolucionar e, com ânimo renovado, turbinar o "brinquedo". Nos demais terminais da empresa estou usando o Runtime. Porém a cor laranja avermelhada é sofrível. Muito desgastante para quem o usa. Aliás, a versão oficial do Access versão desenvolvedor também é dessa cor "gritante". Tentei usar o código acima para alterar a cor do nosso querido Access. Mas, nada. Mudei a versão na linha de comando para "...oftware\Microsoft\Office\16.0\Com...". Não funcionou. Abri os registros do Windows e observei que não existe a chave Comman\Theme. Naveguei pelas demais chaves e não encontrei nada que fizesse sentido. Enfim. Alguém sabe o que fazer. Optei em fechar os registros temendo o pior. rsrs Grande abraço a todos. Gilson Russo 28/03/2023 10:05:56 Parabéns a Avelino Muito obrigado por compartilhar seu conhecimento!!!! gostaria de saber se é possível aplicar este comando no access 2016? que só tem duas opções "colorido e branco" tentei modificar o código colocando as opções na macro e no código vba e referenciei a key do office 2016 UI Theme , mas não deu certo ! Nilson 13/02/2022 22:05:44 Boa noite, É possível rodar um BD Access 2013 em uma máquina que não possua o Office instalado através do Access Runtime 2013? Estou com problema no meu trabalho, pois só existe o Base (LibreOffice) e quase não tem recurso. Avelino Sampaio 20/11/2021 08:29:55 Daniel, não tem como. Sucesso! Daniel Raphael 19/11/2021 23:23:18 Queria mudar para outras cores vermelho amarelo verde tem como ? Daniel Raphael Avelino Sampaio 17/07/2021 08:07:28 Sérgio, leia o outros cometários que irá encontrar a solução. Sucesso! Sérgio 16/07/2021 13:39:43 Avelino, boa tarde! Primeiramente obrigado por disponibilizar seus conhecimentos! Tentei utilizar o código acima, mas ao abrir o aplicativo o sistema emite a seguinte mensagem de erro: "Erro em tempo de execução '3270':Propriedade não encontrada", ao depurar é marcado em amarelo o trecho do código: If CurrentDb.Properties!themeAccess = fncLerCorAccess Then. Avelino Sampaio 10/02/2021 15:07:53 Dal Secco tem sim, use o comando regRead do script. NumCor = objReg.RegRead(ChaveReg) Sucesso! Dal Secco 07/02/2021 16:19:17 Achei muito legal. Eu tenho como ler a cor do registro, para usá-la em uma tela? Abraço e obrigado por você ser como é. Renato Siva 10/11/2020 16:51:59 Deu certo Avelino. Obrigado pela atenção. Avelino Sampaio 10/11/2020 16:11:59 Renato, troque este linha do código acima: Call fncCriarPropriedade("themeAccess", 1) Por esta: Call fncCriarPropriedade("themeAccess", me!cboCor) Sucesso! Avelino Sampaio 10/11/2020 16:09:23 Renato, este erro acontece no meu arquivo exemplo ou no seu BD ? No arquivo exemplo tem uma função chamada fncCriarPropriedade() Altere o código do evento , acrescentando esta função: Private Sub cboCor_AfterUpdate() On Error Resume Next CurrentDb.Properties!themeAccess = Me!cboCor If Err.Number Then Call fncCriarPropriedade("themeAccess", 1) Err.Clear End If Call fncCorAccess(Me!cboCor) End Sub Tenho um artigo aqui na seção DICAS que demonstra como criar Propriedades. No aguardo Renato Siva 10/11/2020 15:49:43 Avelino... parabéns pelo código. Mas para mim aqui não funcionou. Dá erro ao troca a cor: "Propriedade não encontrada" Trecho do código com problema: CurrentDb.Properties!themeAccess = Me!cboCor Tem que configurar mais algo para funcionar ? Avelino Sampaio 05/07/2020 04:53:34 Marcio, Corrigi o link. Obrigado pelo toque. Sucesso! MARCIO MELO - RJ 04/07/2020 21:00:01 Essa é muito boa, simples e eficiente, e nos mostra como o VBA é dinâmico, usando o Windows Scripting na reescrita do registro do windows que sabemos que é maior tabu, mais o seu conhecimento vai muito mais além do que eu imaginava, vou lhe dar um toque verifique o seu arquivo de download aponta para outro (video), dessa vez nem recebi a sua newDica, fui no seu site e verifiquei que devia ser novo porque ainda estava com pouca visitas. Forte abraço! Marcelo David 01/07/2020 09:41:44 Cara, cada vez mais voce nos surpreende!! Parabéns!!! |