J'ai besoin d'aide pour améliorer la méthode que j'ai mise en place. Voici les détails.
J'ai plusieurs feuilles de calcul Excel (xls, écrites à l'origine sur Excel 2007 ou 2010) avec 3 macros principales que je souhaite automatiser pour s'exécuter de manière séquentielle.
J'ai un fichier pour chacun de nos sites distants, chacun étant divisé en trois zones principales
donc j'ai tous ces fichiers enregistrés sur un lecteur partagé comme suit:
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
J'ai créé une VBS unique pour chaque fichier xls, puis j'exécute tous les scripts à partir d'un fichier bat.
Le code de chaque fichier VBS est fondamentalement le même mais j'ai "codé en dur" les chemins et les noms de fichiers ...
Est-il possible de fournir les trois chemins et les noms de tous les fichiers sous forme de variables afin que le même code puisse parcourir la liste des fichiers et exécuter les trois macros en séquence? (les noms des macros sont toujours les mêmes)
C'est le code que j'utilise actuellement: (les fichiers sont protégés)
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"
Pouvez-vous suggérer quelque chose? Je souhaite commencer à initialiser une liste de variables et de chemins car tous les fichiers XLS des répertoires sélectionnés ne sont pas des entrées valides pour le script ...
Pensées?