none
ABRIR ARQUIVO ESPECIFICO E EXECUTAR UM PROCEDIMENTO RRS feed

  • Pergunta

  • Pessoal, antes de fazer esta pergunta dei uma procurada se já havia algo sobre, mas não encontrei nada muito claro..

    Preciso de uma macro que abra um arquivo .xls em um caminho que possa ser escolhido e que neste arquivo aberto seja executado um procedimento.

    Queria saber se isto é possível e se alguém poderia me ajudar.

    Desde já obrigado a todos.

    sexta-feira, 10 de julho de 2015 21:33

Respostas

  • Jonny,

    Você não precisa, necessariamente, abrir o arquivo.

    Experimente usar uma linha de comando como:

    Application.Run "'c:\temp\Pasta1.xlsm'!Main"

    Note que a pasta de trabalho ficará aberta depois de você executar essa instruçãop.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Jonny Felix terça-feira, 14 de julho de 2015 11:36
    sábado, 11 de julho de 2015 16:49
    Moderador
  • "Todo mês atualizo uma pasta de trabalho com novas informações. Copio todas as planilhas para o arquivo onde está salva a Macro, executo o procedimento e depois copio as planilha atualizadas para um novo arquivo."

    Você está dando algumas voltas e é possivel simplificar esse processo. Estou começando a achar que resolver seu problema é mais simples por outro caminho.

    Por que você não deixa as macros no arquivo oficial de uma vez? Por que utiliza uma pasta de trabalho auxiliar?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Jonny Felix sexta-feira, 17 de julho de 2015 19:07
    terça-feira, 14 de julho de 2015 13:00
    Moderador

Todas as Respostas

  • Jonny,

    Você não precisa, necessariamente, abrir o arquivo.

    Experimente usar uma linha de comando como:

    Application.Run "'c:\temp\Pasta1.xlsm'!Main"

    Note que a pasta de trabalho ficará aberta depois de você executar essa instruçãop.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Jonny Felix terça-feira, 14 de julho de 2015 11:36
    sábado, 11 de julho de 2015 16:49
    Moderador
  • Funciona pra mim Felipe, mas deixa eu te explicar o que preciso e como faço:

    Todo mês atualizo uma pasta de trabalho com novas informações. Copio todas as planilhas para o arquivo onde está salva a Macro, executo o procedimento e depois copio as planilha atualizadas para um novo arquivo.

    O problema que são mais de 35 planilhas e tá travando muito quando vou copiar para o novo arquivo. 

    Por isso gostaria de escolher o caminho onde está o arquivo a ser atualizado, executar o procedimento nele e não precisar copiar as planilhas.

    Já consegui selecionar a pasta onde está o arquivo que será atualizado, mas não sei executar o procedimento nele

    Sub TESTE01()
        Dim Pasta As String
    
        
        'Abre uma caixa de diálogo para selecionar a pasta
        'onde está o arquivo a ser atualizado
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Show
            Pasta = .SelectedItems(1)
        End With
        
    
    ' Executar o procedimento
    

    Não sou muito experiente, peço mil desculpas se minha pergunta for muito idiota e lhe agradeço mais uma vez pela força.

    Jonny Felix

    terça-feira, 14 de julho de 2015 11:59
  • "Todo mês atualizo uma pasta de trabalho com novas informações. Copio todas as planilhas para o arquivo onde está salva a Macro, executo o procedimento e depois copio as planilha atualizadas para um novo arquivo."

    Você está dando algumas voltas e é possivel simplificar esse processo. Estou começando a achar que resolver seu problema é mais simples por outro caminho.

    Por que você não deixa as macros no arquivo oficial de uma vez? Por que utiliza uma pasta de trabalho auxiliar?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Jonny Felix sexta-feira, 17 de julho de 2015 19:07
    terça-feira, 14 de julho de 2015 13:00
    Moderador
  • Não deixo a macro no arquivo definito, pois temos uma politica de segurança aqui e não podemos enviar arquivos com macros por email...

    Fiz o seguinte: copiei o código para o arquivo definitivo, executei o procedimento e em seguida apaguei o código.

    Não era minha primeira opção, mas é mais simples que copiar todas as planilhas duas vezes.

    Muito obrigado mais uma vez Felipe.

    Jonny Felix

    sexta-feira, 17 de julho de 2015 19:11
  • "(...) e em seguida apaguei o código."

    Se você salvar um arquivo no formato XLSX, não precisa perder tempo apagando o código. O Excel apaga para você automaticamente. Perceberá isso ao reabrir o arquivo.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 17 de julho de 2015 19:18
    Moderador