Exécuter des macros Excel dans plusieurs fichiers et chemins


0

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?

Réponses:


0

VBS est plutôt inflexible et abstraite de la tâche à accomplir. Par conséquent, plutôt que de l'utiliser pour gérer des tâches, pourquoi ne pas simplement disposer d'un classeur de contrôle qui déclenche et contrôle le processus? La gestion des erreurs et l'audit pourraient alors être beaucoup plus élégants et informatifs, et le fait que les objets soient natifs facilite énormément les choses.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.