Executa macros do Excel em vários arquivos e caminhos

0

Preciso de ajuda para melhorar o método que implementei. Aqui estão os detalhes.

Eu tenho várias planilhas Excel (xls, escritas originalmente no Excel 2007 ou 2010) que têm 3 macros principais que eu quero automatizar para executar sequencialmente.

Eu tenho um arquivo para cada um dos nossos locais remotos, cada local remoto é dividido em três áreas principais

então eu tenho todos esses arquivos salvos em uma unidade compartilhada da seguinte forma:

Area A (folder)
  Office/Plant A.xls
  Office/Plant B.xls

  Office/Plant C.xls
Area B
  Office/Plant D.xls
  Office/Plant X.xls

Eu criei um VBS exclusivo para cada arquivo xls e depois executo todos os scripts de um arquivo bat.

O código para cada arquivo VBS é basicamente o mesmo, mas eu tenho "codificado" os caminhos e os nomes dos arquivos ...

Existe uma maneira que eu possa fornecer os três caminhos e os nomes de todos os arquivos como variáveis para que o mesmo código possa percorrer a lista de arquivos e executar as três macros em sequência? (os nomes das macros são sempre os mesmos)

Este é o código que estou usando atualmente: (os arquivos estão protegidos)

Dim xlApp
Dim xlWkb

Set xlApp = CreateObject("excel.application")

Set xlWkb = xlApp.Workbooks.Open("P:\Area A\Office/Plant A.xls")
'xlWkb.RunAutoMacros 1 'xlautoopen ???
xlApp.Run ("unprotect_spreadsheets")
xlApp.Run ("Download_Data")
xlWkb.Save
xlApp.Run ("Protect_SpreadSheets")
xlWkb.Save
xlWkb.Close false

Set xlWkb = Nothing
xlApp.Quit
Set xlApp = Nothing

WScript.Echo "Finished: Office/Plant A.xls"

Você pode sugerir algo? Eu quero começar a inicializar uma lista de variáveis e caminhos, porque nem todos os arquivos XLS nos diretórios selecionados são entradas válidas para o script ...

Pensamentos?

    
por charlie 19.06.2015 / 23:40

1 resposta

0

O VBS é bastante inflexível e abstraído da tarefa em questão, então, em vez de usá-lo para gerenciar as coisas, por que não apenas ter uma pasta de trabalho de controle que aciona e controla o processo? O tratamento de erros e a auditoria poderiam ser muito mais elegantes e informativos, e o fato de os objetos serem nativos torna as coisas muito mais fáceis.

    
por 22.06.2015 / 11:43