Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Excel - Ativando Macros Automaticamente

Fórum para agrupar todas as propostas de modelos de planilhas de Excel que essa comunidade consegue imaginar. Teve uma idéia? Produziu algo bem bacana? Esse é o lugar!

Moderador: Rafael Monteiro

Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Excel - Ativando Macros Automaticamente

Mensagem por Mikel Silveira Fraga »

Boa noite a todos os amigos do fórum.

Como mencionado nas respostas anteriores, consegui gerar uma outra maneira de ativar as macros para uma arquivo de distribuição.

Conforme mencionado, segui os passos encontrados no site Usando Access e o adaptei para ser utilizado em qualquer distribuição office que se deseja, desde o Access, Excel, Word ou outra aplicação office que possua Macros/Códigos VBA para serem executados.

Como a ideia deste script é ativar automaticamente a execução de um arquivo com macro, através de um arquivo de distribuição (instalador), o arquivo do VBScript pode ser copiado para pasta da aplicação e executado ao final da instalação de sua distribuição.

Ao ser executando, o script irá capturar o diretório corrente (um comando parecido com o "ThisWorkbook.Path") e irá torná-lo como um Local Confiável do aplicativo do MS Office utilizado, através de um inclusão de chaves no Registro do Windows, conforme imagens abaixo.
Configuração de Segurança do Excel.
Configuração de Segurança do Excel.
LocaisConfiaveis.jpg (277.34 KiB) Exibido 9578 vezes
Caminho no RegEdit do Windows, onde as chaves foram adicionadas.
Caminho no RegEdit do Windows, onde as chaves foram adicionadas.
RegEdit.jpg (168.55 KiB) Exibido 9578 vezes
Não acho que essa seja a melhor linguagem de se desenvolver esse processo de Ativação Automática de Macros, mas resolvi fazê-lo com base no VBScript, pelo fato dos comandos, sintaxes e toda a estrutura ser idêntica aos do VBA. Dessa maneira, os usuários que tiverem interesse em adaptar o comando, não terão dificuldade no processo de manutenção do código, além de ser uma excelente oportunidade dos mesmos estarem expandindo seus conhecimentos.

Estou enviando o arquivo do script em anexo no formato original (.vbs). Este script foi escrito em um programa chamado VBSEdit, onde também é possível realizar a conversão do arquivo VBS em EXE, de acordo com o interesse e necessidade do usuário.

Espero que gostem do resultado. Abraços a todos e boa noite.
Anexos
activeTrustedLocations.zip
Arquivo do VBScript (.vbs).
(900 Bytes) Baixado 542 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Excel - Ativando Macros Automaticamente

Mensagem por webmaster »

Mikel,

Estou colocando o código abaixo para facilitar. Precisei fazer um rodeio para conseguir baixar o arquivo pois os navegadores bloqueavam de todo jeito.

Código: Selecionar todos

'----------------------------------------------------------------------------
'Este script ir· alterar o registro do Windows, com o propÛsito
'de tornar uma pasta confi·vel, para todos os usu·rios.
'----------------------------------------------------------------------------

'----------------------------------------------------------------------------
'Inicio dos Scripts.
'----------------------------------------------------------------------------

'DeclaraÁ„o Vari·veis
Dim WshShell, appOffice 'Shell do Window e Aplicativo Office.
Dim strCurDir, strRegEdit
Dim strObjVer, strObjName

'Chama rotinas para iniciar os objetos WScript e MSExcel.
Set WshShell = CreateObject("WScript.Shell")
Set appOffice= CreateObject("Excel.Application")

'Definem a vers„o e o nome do aplicativo.
strObjVer = appOffice.Version
strObjName = Replace(appOffice.Name,"Microsoft ","")

'Define a vari·vel strCurdir, com o endereÁo local.
strCurDir = WshShell.CurrentDirectory

'Monta o endereÁo do registro, onde ser· inserida as chaves.
strRegEdit = "HKEY_CURRENT_USER\Software\Microsoft\Office\"
strRegEdit = strRegEdit & strObjVer & "\" & strObjName
strRegEdit = strRegEdit & "\Security\Trusted Locations\ProjetoSeguro\"

'------------------------------
'Configurando pasta confi·vel
'------------------------------
With WshShell
	'Seta subpastas como confi·vel
	.RegWrite strRegEdit & "AllowSubfolders", 1, "REG_DWORD"
	 
	'data e hora da configuraÁ„o
	.RegWrite strRegEdit & "Date",Now,"REG_SZ"
	
	'DescriÁ„o sobre a pasta
	.RegWrite strRegEdit & "Description","Projeto AutoExec","REG_SZ"
	
	'Informa local e nome da sua pasta confi·vel
	'ATEN«√O - configure o nome da sua pasta
	.RegWrite strRegEdit & "Path",strCurDir,"REG_SZ"
End With

msgbox "Local confi·vel configurado..."

'Limpa os objetos WScript e MS Excel.
Set WshShell = Nothing
Set appOffice = nothing
Att,


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Excel - Ativando Macros Automaticamente

Mensagem por webmaster »

Mikel,

Quanto a sua pergunta sobre VBScript, acredito que seja uma possibilidade. Porém, o uso deste tipo de script normalmente é focado em automação de rotinas de rede e tem caído em desuso, seja por questões de idade e segurança, sendo substituído por rotinas no PowerShell.

Se o objetivo a ser alcançado é ser mais "independente", digo com propriedade que não se preocupe. O .NET existe desde 2002 e vem enbutido no Windows desde o Vista, além de ser uma atualização recomendada. Acredito ser uma abordagem aceitável. A alternativa perfeita para mim é um bom gerenciamento de certificados digitais na rede onde o aplicativo será executado.

Att,
Tomás


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Excel - Ativando Macros Automaticamente

Mensagem por webmaster »

Além do mais, o .NET não é a única alternativa para o feito. Outras linguagens como python e java são capazes da mesma façanha. Neste contexto, é uma questão de escolha.

Att


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Excel - Ativando Macros Automaticamente

Mensagem por Mikel Silveira Fraga »

Boa tarde Tomas, tudo bem?

Vi seu post no final de semana, mas somente hoje consegui ler com mais calma. Vou dar uma analisada as opções apontadas por você, pois já estou a algum tempo pensando em aprofundar um pouco mais em outras linguagens, estou apenas avaliando qual será mais interessante para minhas necessidades.

Muito obrigado pelo retorno e excelente semana de trabalho.


Avatar do usuário
Maximo_TP
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Dom Jul 10, 2016 4:19 pm

Re: Excel - Ativando Macros Automaticamente

Mensagem por Maximo_TP »

Rilton,

Você pode criar um atalho para o executável na área de trabalho.
Com o direito do mouse no atalho, selecione Propriedades => Alterar Ícone => Procurar => Aplicar => Ok

Espero ter ajudado.


davi@14
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Seg Out 03, 2016 1:38 pm

Re: Excel - Ativando Macros Automaticamente

Mensagem por davi@14 »

Olá, meu objetivo é distribuir uma planilha a várias pessoas a distância, impedindo que elas compartilhem com qualquer outra pessoa como se elas tivessem criado o produto. Não sei nada de linguagem de programação. Achei bastante interessante esse artigo. Uma dúvida, se a pessoa que recebeu uma pasta que contém a linguagem de programação + a planilha, excluir o arquivo que contém a linguagem ou movê-la de lugar, ela quebra a segurança?? Grato pela resposta. :)


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Excel - Ativando Macros Automaticamente

Mensagem por Mikel Silveira Fraga »

Davi, boa tarde e seja bem vindo ao fórum.

Se quiser distribuir sua planilha, visando segurança, esqueça. Infelizmente, um arquivo em Excel é muito frágil quando o assunto é senhas de segurança.

A ideia principal discutida nesse tópico esta relacionada a Segurança de Execução de Macros e como removê-las automaticamente, permitindo que sua aplicação rode sem a necessidade de ficar, a todo tempo, Habilitando as Macros no aplicativo.

Caso queira buscar mais sobre segurança, no fórum existem vários tópicos que falam a respeito.

Abraços e excelente semana.


Aucator
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Sáb Fev 11, 2017 11:40 pm

Re: Excel - Ativando Macros Automaticamente

Mensagem por Aucator »

Li e reli seu tutorial, mas tenho certeza que fiz algo errado ou deixei de fazer alguma coisa, não funcionou.

Ah, outra coisa, baixei o arquivo exemplo e le não executou minhas macros. que faltou fazer?


Aucator
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Sáb Fev 11, 2017 11:40 pm

Re: Excel - Ativando Macros Automaticamente

Mensagem por Aucator »

webmaster escreveu:Arquivos de exemplo do post:

http://www.tomasvasquez.com.br/blog/mic ... aticamente

Bom proveito!
Simplesmente não funciona aparece a mensagem de erro algo como caminho longo ou inválido. Como já citado por alguns neste bloco

Grato Augusto


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder