MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

2 participantes

    Executar cmd com vários comandos e codificação de caracteres

    avatar
    mhsouza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 01/06/2012

    Executar cmd com vários comandos e codificação de caracteres Empty Executar cmd com vários comandos e codificação de caracteres

    Mensagem  mhsouza 3/2/2023, 21:33

    Boa tarde a todos.
    Após uma longa busca na internet e aqui no fórum, não encontrei solução para um problema.

    Devido à uma restrição de segurança no servidor da empresa, não posso usar arquivos ".bat", por isso, tive que colocar os códigos do MS-DOS dentro do VBA. Tudo funciona, mas existe um problema relacionado à codificação de caracteres.

    O código é esse, e funciona da seguinte maneira:
    Shell "cmd /c dir ""C:\Users\MinhaTI"" /s /b > ""C:\Users\MinhaTI\ListaPastas.txt"""

    O conteúdo completo do caminho "C:\Users\MinhaTI" é lido e então gerado um arquivo "C:\Users\MinhaTI\ListaPastas.txt" com o texto.

    O comando no DOS para codificar e corrigir a acentuação latina é "chcp 65001", e funciona normalmente no arquivo ".bat", mas não consigo fazer funcionar no VBA.

    Já tentei inserir o "chcp 65001" em várias partes da linha, concatenando com & e outras tentativas, mas sem sucesso.

    Resultado incorreto:
    C:\Users\CS382667\MinhaTI\Corporativo - Procedimentos - Comunica‡Æo
    C:\Users\CS382667\MinhaTI\Corporativo - Procedimentos - GestÆo da Qualidade
    C:\Users\CS382667\MinhaTI\Corporativo - Procedimentos - GestÆo de Projetos


    Resultado que deveria ser:
    C:\Users\CS382667\MinhaTI\Corporativo - Procedimentos - Comunicação
    C:\Users\CS382667\MinhaTI\Corporativo - Procedimentos - Gestão da Qualidade
    C:\Users\CS382667\MinhaTI\Corporativo - Procedimentos - Gestão de Projetos


    Peço ajuda dos companheiros.

    Antecipadamente agradeço,
    Marcos
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Executar cmd com vários comandos e codificação de caracteres Empty Re: Executar cmd com vários comandos e codificação de caracteres

    Mensagem  DamascenoJr. 6/2/2023, 02:25

    Se a ideia for listar o conteúdo e colocar em um txt, não precisa usar o Access para chamar o comando do DOS. Basta fazer com que o VBA faça o que o comando faria.

    Algo assim
    https://www.maximoaccess.com/t14255-resolvidoler-diretorios


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 9/12/2023, 12:45