Question Lister et Editer les Macros Excel

Plus d'informations
il y a 13 ans 11 mois #11551 par Vincent
Bonjour à tous,

dans le cadre de la migration d'un serveur de fichier et plus particulièrement de sa racine DFS, mes utilisateurs me demande une solution simple qui leur permettrait d'identifier les macros excel impactées par ce changement et pourquoi pas de les modifier si elles sont impactées.

Le context:
j'ai des utilisateurs qui bidouillent et qui au lieu d'utiliser le chemin du lecteur maper sur la racine DFS, utilisent le chemin UNC de cette même racine.

Pour être plus concret, un utilisateur génère un fichier excel via une macro qu'il dépose sur [code:1]\\MonServeur.local\Mes Fichers\[/code:1]. Le lien UNC va changer en [code:1]\\MonAutreServeur.global\Mes Fichiers\[/code:1].

le but est donc d'identifier les macros qui utilisent le chemin UNC [code:1]\\MonServeur.local\Mes Fichers\[/code:1] et dans le meilleur des mondes, de modifier la macro en conséquence.


faire une recherche récursive sur un volume ne pose en soit pas de problème.

[code:1]GCI -path $MonChemin -Include *.xls,*.xlsb,*.bas -Recurse[/code:1]

D'ailleurs si il y a une meilleur méthode pour avoir un listing exhaustif je suis preneur.

Ensuite l'idée serait d'utiliser l'objet Excel.Application si le fichier est un xls/xlsb pour traiter ce beau monde.

Le .bas est modifiable sans Excel donc je pensais faire un get-content.

voici donc les questions:

Comment puis-je controller que mon fichier excel dispose bien de macro(s)?

Si il dispose de macro(s) comment faire pour chercher une chaine de caractère dans la/les macros?

pour le remplacement de la chaine, je pensais convertir la macro en [string] et appliquer un $macro.replace par exemple.

Je vous remercie par avance de m'aiguiller sur mes recherches!<br><br>Message édité par: Shiby, à: 18/04/12 13:55

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 11 mois #11584 par Laurent Dardenne
Shiby écrit:

Comment puis-je controller que mon fichier excel dispose bien de macro(s)?

avec VbProject ?
Voir aussi cet article
Consulte l'aide en ligne de VBA d'Office, elle est incontournable, mais à adapter :whistle: .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 11 mois #11589 par Vincent
Bonjour Laurent,

Merci pour ta réponse.

Il faut vraiment que je me mette à apprendre à me servir de msdn!

je dirais même que c'est un prérequis pour powershell.

merci de m'avoir indiquer le chemin à prendre.

Les délais sur ce projet sont très serrés mais si je parviens à rédiger quelque chose d'exploitable je viendrais le partager.

Allez Hop au boulo!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 11 mois #11598 par Laurent Dardenne
Shiby écrit:

Il faut vraiment que je me mette à apprendre à me servir de msdn!

Voir ce tuto , chapitre 8. Bien que MSDN fasse sa mue pour Windows 8, le principe reste le même.
Shiby écrit:

je dirais même que c'est un prérequis pour powershell.

Disons dés que l'on commence à utiliser des classes du framework dotnet.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.040 secondes
Propulsé par Kunena