-
lire une macro par vba
Bonjour,
je voudrais faire une petite application pour lire le texte des macros d'un fichier excel ou word.
c'est pour moi, quand je fais différentes versions de macros voir où sont les évolutions.
actuellement j'exporte mes macros vers un fichier .bas et j'utilise un comparateur de texte.
c'est souvent très fastidieux.
je voudrais être plus réactif et en lisant directement le texte des macros des différents fichiers observer ces évolutions.
je pense que ce doit être possible
Merci à ceux qui peuvent me répondre
-
Tu peux couper la poire en deux : exporter au format texte à la main et faire une macro qui compare les fichiers textes.
Sinon, je te conseille d'investiguer du côté de l'objet Workbook.VBProject.
-
Merci
je pense que vbproject doit être la bonne piste
connais tu un bon tuto la dessus ?
-
Non, désolé.
La seule piste que je puisse te donner est celle de l'aide standard de Excel qui (pour une fois) ne semble pas très explicite sur le sujet (raison pour laquelle je n'ai pas plus développer dans ma première réponse).
A mon avis, il va falloir que tu procèdes à pas mal de tests et d'essais.
-
en fait il y a le tutoriel de notre excellent Sylky Road, notre maitre à tous:
Visual Basic Editor.
Je me lance dans cette délicieuse lecture et je suis sur d'y trouver ce que je cherche
Une médaille d'or pour Sylky Road !!!!!!!!!!
par contre on aimerait bien que developpez.net soit plus explicite dans la communication des tutos
parce que on a un peu de mal à trouver
-
bon j'ai commencé à coder
il faudrait que je sache comment empêcher l’exécution d'une macro, car dans un des fichiers que je veux
ouvrir il y a des macros qui se lancent à l’ouverture du fichier et donc ça gène.
-
Regarde les options de la propriété Application.AutomationSecurity
Avant d'ouvrir ton fichier, tu mets dans une variable le contenu de cette propriété puis tu lui assigne la valeur msoAutomationSecurityForceDisable.
Après avoir ouvert ton fichier, tu repasses sa valeur d'origine en utilisant la variable dans laquelle cette valeur a été enregistrée (histoire de ne pas laisser le système dans le même état).
-
non ça marche pas,
j'ai essayé Application.OnUndo "undo VB Procedure",nom de la procédure à ne pas lancer
ça ne marche que pour ce que je lui demande de ne pas lancer, et ça pourrait être bon, mais il a ouvert les macro du fichier cible et donc s’arrête dessus
et je suis coincé
peut être existe t'il une méthode pour ne pas faire apparaitre les macros du fichier cible tout en continuant à exécuter celle du fichier
utile.
sais tu comment je pourrais faire pour connaitre toutes les possibilités de
VBProject et VBProject.VBComponents ?