MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Executar .bat externo

    Fernando Bueno
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2040
    Registrado : 13/04/2012

    [Resolvido]Executar .bat externo Empty [Resolvido]Executar .bat externo

    Mensagem  Fernando Bueno em 10/10/2018, 21:25

    Boa tarde colegas do forum.

    Sei que esse assunto ja foi discutido diversas vezes aqui no forum porem estou tendo uma certa
    dificuldade na seguinte questao.

    Tenho um arquivo .Reg que contem os comandos para desabilitar a segurança de macros do access.

    Um arquivo .Bat que chama a execuçao desse .Reg.

    Tentei diversas formas e nao obtive sucesso para chamar esse .Bat ao abrir o access, tendo em vista que

    com o aplicativo aberto nao altera essas configuraçoes.

    Se os colegas tiverem alguma luz para me passar agradeço de ante-mao
    Anexos
    [Resolvido]Executar .bat externo Attachmentteste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (49 Kb) Baixado 13 vez(es)


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Executar .bat externo 16rzeq
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2765
    Registrado : 21/04/2011

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Marcelo David em 11/10/2018, 02:52

    Boa noite,
    Porque não usa o Application.FollowHyperlink?

    Seria mais ou menos assim:

    Application.FollowHyperlink CurrentProject.Path & "\Seguranca.bat"


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  JPaulo em 11/10/2018, 12:05

    Bom dia a todos;

    Quanto a mim, faria estas etapas;

    1º Ao abrir o seu form principal

    Código:
    Private Sub Form_Open(Cancel As Integer)
    Dim strBat As String
        strBat = "C:\SeuBat.bat"
        Shell strBat
    End Sub

    2º No seu batch file, deverá ter o seguinte:

    Código:
    @REM só pode alterar o SEUBANCO, não altere o %~dp0,
    @REM para o bat saber o que banco está junto a esse bat
    SET FileToDelete="%~dp0SEUBANCO.laccdb"

    TASKKILL /F /IM "MSACCESS.EXE"
    @deleta o laccdb que fica aberto, ao matar o processo msaccess
    IF EXIST %FileToDelete% del /F %FileToDelete%

    timeout /t 10
    @corre o vbs
    start "" "C:\SEUVBS.vbs"
    /secondary /minimized
    exit

    3º Quando acabar de correr o VBS, abrir o banco.



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Executar .bat externo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Executar .bat externo Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Executar .bat externo Folder_announce_new Instruções SQL como utilizar...
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2040
    Registrado : 13/04/2012

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Fernando Bueno em 12/10/2018, 02:35

    Boa noite mestres Marcelo e Joao Paulo;

    Obrigado pela disponibilidade em responder minha duvida.

    Testei as duas dicas apresentadas porem nao funcionou, a dica do Marcelo ficou dessa forma:

    Código:
    Application.FollowHyperlink CurrentProject.Path & "\Seguranca.bat"

    A dica do amigo Joao Paulo ficou assim:

    Ao Abrir do form principal:

    Código:
    Private Sub Form_Open(Cancel As Integer)
    Dim strBat As String
        strBat = "C:\teste\Seguranca.bat"
        Shell strBat
    End Sub

    No arquivo bat:

    Código:
    @REM só pode alterar o SEUBANCO, não altere o %~dp0,
    @REM para o bat saber o que banco está junto a esse bat

    SET FileToDelete="%~dp0Bd_teste.laccdb"

    TASKKILL /F /IM "MSACCESS.EXE"
    @deleta o laccdb que fica aberto, ao matar o processo msaccess
    IF EXIST %FileToDelete% del /F %FileToDelete%

    timeout /t 2
    @corre o vbs
    start "" "C:\teste\DesabilitaMacro.reg"
    /secondary /minimized
    exit

    Esse arquivo .reg desabilita segurança de macro, se executo o bat diretamente roda o arquivo
    porem chamando pelo access nao executa.
    No anexo coloquei o arquivo .Reg, converti para arquivo .Vbs mais nao obtive resultado tambem.
    Segue abaixo os arquivos para ver se os senhores conseguem me ajudar nessa questao.
    Utilizo access 2010 - Windows 7 64 bits
    Obrigado!
    Anexos
    [Resolvido]Executar .bat externo Attachmentteste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (51 Kb) Baixado 15 vez(es)


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Executar .bat externo 16rzeq
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2765
    Registrado : 21/04/2011

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Marcelo David em 12/10/2018, 02:55

    Rapaz, muito estranho, teste aqui e ambos os métodos funcionaram na perfeição...

    A pasta teste tem que está na raiz de C:

    Que erro ocorre aí?


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  JPaulo em 12/10/2018, 10:39

    Windows 10, 64 bits com Ms Access 2010.

    A sua pasta em C:\ funcionou certinho.

    Também testado com o Ms Access 2016.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Executar .bat externo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Executar .bat externo Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Executar .bat externo Folder_announce_new Instruções SQL como utilizar...
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2040
    Registrado : 13/04/2012

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Fernando Bueno em 13/10/2018, 02:49

    Boa noite amigos;

    Entao, aqui a pasta teste esta em C:\

    Nao apresenta erro nenhum mais nao roda o comando no evento ao abrir do form,

    se eu habilitar as macros ele roda mais esse script e justamente para essa finalidade, que habilite

    todas as macros quando distribuir a aplicaçao.

    Alguma dica?


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Executar .bat externo 16rzeq
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2765
    Registrado : 21/04/2011

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Marcelo David em 13/10/2018, 02:51

    Então, a primeira vez realmente não irá rodar sem habilitar o batão lá... Após essa primeira vez daí, sim habilita e não precisará mais ser executado...
    Você poderá usar uma tabela onde informe se o comando já foi ou não executado.

    Mas volto a afirmar: a primeira vez que o aplicativo for rodar, as macros vem desabilitadas por padrão. Assim que você habilitar e então esse form abrir,
    o .bat será executado  e fará o script do .reg habilitar definitivamente as macros para essa pasta.


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 674
    Registrado : 22/11/2016

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  IvanJr. em 13/10/2018, 20:05

    pitaco: acrescente no .bat após o comando para habilitar as macros, comando para abrir sua aplicação. No atalho da sua aplicação na área de trabalho ou no menu iniciar, passe então a apontar para o .bat ao invés da sua aplicação. Assim, toda vez que sua aplicação for executada terá certeza que as macros estão habilitadas.
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6181
    Registrado : 15/03/2013

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  ahteixeira em 13/10/2018, 23:11

    Olá a todos,

    Não testei nenhum exemplo, mas tenho acompanhado o tópico.

    Fernando, como o colega Marcelo referiu, se não tem as macros (ou código vba habilitado) nunca iremos conseguir executar nenhum código para ajustar as definições.

    No meu entender tem uma das seguintes soluções:

    A) chamar o bat diretamente.
    B) Ter um programa de instalação para efetuar o.desbloqueio.
    C) Ter uma solução com a intervenção do utilizador na primeira abertura do programa, tipo isTrust (tutor5) do colega Avelino Sampaio.

    Abraço a todos
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2040
    Registrado : 13/04/2012

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Fernando Bueno em 14/10/2018, 02:33

    Boa noite colegas;

    Minha intençao e que as macros sejam habilitadas na primeira abertura do banco, esse arquivo reg
    faz isso quando executo ele diretamente, como diretamente pelo access nao da certo primeiramente
    vou tentar usar a dica do colega Ivan.
    A dica do Alvaro passada pelo mestre Avelino cria um local confiavel,e exelente inclusive ja usei em algumas aplicaçoes porem queria habilitar totalmente as macros sem a intervençao do cliente.

    Agradeço a todos que se disponibilizaram em me ajudar nessa questao, estarei dando o topico
    como Resolvido, bom final de semana a todos!



    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Executar .bat externo 16rzeq
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2040
    Registrado : 13/04/2012

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Fernando Bueno em 15/10/2018, 18:20

    Boa tarde amigos;

    Resolvi a questão colocando o comando no inno setup para rodar o .Bat após a instalação.

    [Run]
    Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: shellexec postinstall skipifsilent
    Filename: "{app}\Seguranca.bat"; Parameters: "install"; Flags: runhidden

    Obrigado a todos pelas dicas.


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Executar .bat externo 16rzeq
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 674
    Registrado : 22/11/2016

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  IvanJr. em 15/10/2018, 19:17

    Sei que já tá resolvido, mas só pra informar: pelo inno é possível adicionar a chave sem precisar do .bat.
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2040
    Registrado : 13/04/2012

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Fernando Bueno em 15/10/2018, 19:48

    Boa tarde Ivan,
    Não conheço muito bem o inno poderia me dizer como adicionar a chave diretamente?

    Essas chaves:

    [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security]
    "VBAWarnings"=dword:00000001
    "DisableAllAddins"=dword:00000001

    [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations]

    [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location2]
    "Path"="C:\\Program Files\\Microsoft Office\\Office14\\ACCWIZ\\"
    "Description"="Access default location: Wizard Databases"


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Executar .bat externo 16rzeq
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 674
    Registrado : 22/11/2016

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  IvanJr. em 15/10/2018, 21:04

    Montei e testei e funfou no meu access 2010 (14.0)... no inno fica assim conforme suas chaves:

    Código:
    [Registry]
    Root: HKCU; Subkey: Software\Microsoft\Office\14.0\Access\Security; ValueType: dword; ValueName: DisableAllAddins; ValueData: 1
    Root: HKCU; Subkey: Software\Microsoft\Office\14.0\Access\Security; ValueType: dword; ValueName: VBAWarnings; ValueData: 1
    Root: HKCU; Subkey: Software\Microsoft\Office\14.0\Access\Security\Trusted Locations; ValueType: none
    Root: HKCU; Subkey: Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location2; ValueType: string; ValueName: Description; ValueData: Local padrão do Access: bancos de dados de assistente
    Root: HKCU; Subkey: Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location2; ValueType: string; ValueName: Path; ValueData: C:\Program Files\Microsoft Office\Office14\ACCWIZ\
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2040
    Registrado : 13/04/2012

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Fernando Bueno em 15/10/2018, 21:12

    Deu certinho Ivan..
    Tópico finalizado, obrigado!


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Executar .bat externo 16rzeq

    Conteúdo patrocinado

    [Resolvido]Executar .bat externo Empty Re: [Resolvido]Executar .bat externo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/7/2019, 06:34