Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment purger macro VBA dans un document WORD ?

13 réponses
Avatar
Philippe GROSS
Je dispose d'un panel de documents WORD truffés de macro VBA qui me
permettent d'automatiser le remplissage des champs formulaires intégrés dans
ces documents word.
Et je souhaite purger facilement l'ensemble du code VBA compris ds ces
documents apres les avoir enregistré sous un autre nom.
Je dispose déjà d'une solution mais elle n'est pas acceptable en terme de
taille de fichier (enregistrer sous format RTF => un document WORD de 500Ko
occupe 4Mo en RTF...)

Merci d'avance pour votre aide

10 réponses

1 2
Avatar
Anacoluthe
Bonjour !

'Philippe GROSS' nous a écrit ...
Je dispose d'un panel de documents WORD truffés de macro VBA qui me
permettent d'automatiser le remplissage des champs formulaires intégrés dans
ces documents word.
Et je souhaite purger facilement l'ensemble du code VBA compris ds ces
documents apres les avoir enregistré sous un autre nom.
Je dispose déjà d'une solution mais elle n'est pas acceptable en terme de
taille de fichier (enregistrer sous format RTF => un document WORD de 500Ko
occupe 4Mo en RTF...)


Si vous ne voulez pas faire une macro qui supprime les modules
(c'est plus simple avec l'Organizer si on connaît les noms des modules)
utilisez l'Assistant conversion pour passer tous vos documents de
doc à rtf puis retour de rtf à doc ... :-)

Anacoluthe
« Tu as pris l'aller sans penser au retour »
- Allan THÉO

Avatar
Philippe GROSS

Si vous ne voulez pas faire une macro qui supprime les modules
(c'est plus simple avec l'Organizer si on connaît les noms des modules)
utilisez l'Assistant conversion pour passer tous vos documents de
doc à rtf puis retour de rtf à doc ... :-)>


C'est ce que je fais pour le moment mais c'est un chouille lourd !

Mes macros indésirables (ou plutot procedures) dependent quasiment toutes de
UserForms : serait-il possible de faire une procedure capable de lister les
userforms associées à un doc et de les eliminer ?

merci d'avance,

Philippe.

Avatar
Geo
Bonjour Philippe GROSS


Si vous ne voulez pas faire une macro qui supprime les modules
(c'est plus simple avec l'Organizer si on connaît les noms des modules)
utilisez l'Assistant conversion pour passer tous vos documents de
doc à rtf puis retour de rtf à doc ... :-)>


C'est ce que je fais pour le moment mais c'est un chouille lourd !

Mes macros indésirables (ou plutot procedures) dependent quasiment toutes
de UserForms : serait-il possible de faire une procedure capable de
lister les userforms associées à un doc et de les éliminer ?


Oui on peut mais commençant par les solutions simples.
Le retour en doc après Rtf donne de gros documents ?


Avatar
Anacoluthe
Bonjour !

'Philippe GROSS' nous a écrit ...
Si vous ne voulez pas faire une macro qui supprime les modules
(c'est plus simple avec l'Organizer si on connaît les noms des modules)
utilisez l'Assistant conversion pour passer tous vos documents de
doc à rtf puis retour de rtf à doc ... :-)>


C'est ce que je fais pour le moment mais c'est un chouille lourd !


Mais utilisez vous l'Assistant conversion ???(modèles autres documents)
On le laisse mouliner sur quelques centaines de fichiers, on va prendre
un café, puis on le relance une deuxième fois avec un deuxième café, je
ne vois pas ce qu'il y a de si pénible... :-)

Mes macros indésirables (ou plutot procedures) dependent quasiment toutes de
UserForms : serait-il possible de faire une procedure capable de lister les
userforms associées à un doc et de les eliminer ?


Voici par exemple le code qui supprime tous les modules
standards de code et toutes les UserForms du document actif.
(Dans VBE, il faut référencer Microsoft VBA Extensibility)

Public Sub SupprimeTousModulesEtUserForms()
Dim V As Object
For Each V In ActiveDocument.VBProject.VBComponents
If V.Type = vbext_ct_StdModule Or V.Type = vbext_ct_MSForm Then
ActiveDocument.VBProject.VBComponents.Remove V
End If
Next V
Set V = Nothing
End Sub

Mais je trouve que passer par l'Assistant conversion en RTF est
au moins aussi simple pour faire le ménage des macros, non ??

Anacoluthe
« Avec moi, le ménage c'est aussi taudis aussitôt fait. »
- Grégoire LACROIX


Avatar
JièL Goubert
Bonjoir(c) Anacoluthe

« Avec moi, le ménage c'est aussi taudis aussitôt fait. »
- Grégoire LACROIX


heum... c'est ki suila ?

JièL aussi tout fait

Avatar
Geo
Bonjour Anacoluthe


Mais utilisez vous l'Assistant conversion ???(modèles autres documents)


Je ne le trouve pas.
peux-tu préciser où le trouver ?

merci

Avatar
Anacoluthe
Bonjour !

'Geo' nous a écrit ...
Mais utilisez vous l'Assistant conversion ???(modèles autres documents)
Je ne le trouve pas.

peux-tu préciser où le trouver ?


Fichier / Nouveau / Modèles ... : 'Autres documents'

Je me demande cependant si chaque conversion doc>rtf ne risque
pas de s'accompagner ici d'un message
'Certaines fonctionnalités de ce document ne sont pas
prises en charge par RTF - Les macros seront perdues'

A+

Anacoluthe
« Avec moi, le ménage c'est aussi taudis aussitôt fait. »
- Grégoire LACROIX

[HS] Pour JièL, c'est un humoriste auteur des 'Euphorismes'


Avatar
Geo
Bonjour Anacoluthe


Bonjour !

'Geo' nous a écrit ...
Mais utilisez vous l'Assistant conversion ???(modèles autres documents)
Je ne le trouve pas.

peux-tu préciser où le trouver ?


Fichier / Nouveau / Modèles ... : 'Autres documents'

Je me demande cependant si chaque conversion doc>rtf ne risque
pas de s'accompagner ici d'un message
'Certaines fonctionnalités de ce document ne sont pas
prises en charge par RTF - Les macros seront perdues'


Merci
C'est justement ce que je cherche, pas le message , mais le résultat.
A voir


--

A+



Avatar
Anacoluthe
Bonjour !

'Geo' nous a écrit ...
Fichier / Nouveau / Modèles ... : 'Autres documents'
Je me demande cependant si chaque conversion doc>rtf ne risque
pas de s'accompagner ici d'un message
'Certaines fonctionnalités de ce document ne sont pas
prises en charge par RTF - Les macros seront perdues'


Merci
C'est justement ce que je cherche, pas le message , mais le résultat.
A voir


Ok c'est bien comme on a dit, j'ai fait l'essai et c'est tout bon :
l'Assistant conversion transforme les DOC bourrés de macros
en RTF sans rien demander sur les macros. Pratique non ?

Anacoluthe
« Avec moi, le ménage c'est aussi taudis aussitôt fait. »
- Grégoire LACROIX


Avatar
Geo
Bonjour Anacoluthe


Ok c'est bien comme on a dit, j'ai fait l'essai et c'est tout bon :
l'Assistant conversion transforme les DOC bourrés de macros
en RTF sans rien demander sur les macros. Pratique non ?


Les AMIS vont être contents, le tueur de macros est découvert.

Le problème qui était posé et qui n'a rien à voir avec celui à l'origine de
cette conversation était de pouvoir ouvrir des documents en série sans
déclencher d'éventuelles macros d'événements.
D'où l'idée la plus simple : effacer les macros.
Ca veut dire que ce modèle utilise des fonctions particulières,
j'en connais qui iraient bien y jeter un oeil :-)

Il semble que WordBasic.DisableAutoMacros neutralise aussi les événements
du genre Document_open.

Mais un bon nettoyage c'est plus sûr.

merci d'y avoir passé du temps.

--

A+

1 2