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?