Vba : ajout auto de macro dans normal.dot

Le
Jac
Bonjour à tous,

j'aimerais rajouter une macro au normal.dot du pc sur lequel j'ouvre un
fichier de configuration dont ce serait le seul job. C'est sûr que si la
macro existe déjà, il n'est pas forcément nécessaire de la dupliquer, mais
si "ça" la remplace, ce n'est pas un problème.

Est-ce possible ?

Merci d'avance à ceux qui me mettront sur la voie.

Jac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Garette
Le #1588469
Bonsoir,

Soit un document Doc1.doc contenant un Module nommé MonModule (qui contient
une ou des macros)
Le code suivant associé à l'evenement Open de Doc1.doc, permet de copier le
module MonModule dans le Normal.dot à l'ouverture de Doc1.doc.

Private Sub Document_Open() 'Ce code ne copie MonModule que s'il n'existe
pas dans Normal.dot
Y = 0
For Each X In NormalTemplate.VBProject.VBComponents
If X.Name = "MonModule" Then Y = 1
Next
If Y = 0 Then
Application.OrganizerCopy _
Source:¬tiveDocument.FullName, _
Destination:=NormalTemplate.FullName, _
Name:="MonModule", Object:=wdOrganizerObjectProjectItems
End If
End Sub


Si on veut détruire le module MonModule à chaque ouverture de Doc1.doc (pour
etre sur d'avoir la derniere mise à jour du code situé dans MonModule par
exemple) :

Private Sub Document_Open() 'Ce code supprime MonModule s'il existe dans
Normal.dot et copie le nouveau MonModule dans le Normal.dot
For Each X In NormalTemplate.VBProject.VBComponents
If X.Name = "MonModule" Then
Application.OrganizerDelete _
Source:=NormalTemplate.FullName, _
Name:="MonModule", Object:=wdOrganizerObjectProjectItems
End If
Next
Application.OrganizerCopy _
Source:¬tiveDocument.FullName, _
Destination:=NormalTemplate.FullName, _
Name:="MonModule", Object:=wdOrganizerObjectProjectItems
End Sub





"Jac"
Bonjour à tous,

j'aimerais rajouter une macro au normal.dot du pc sur lequel j'ouvre un
fichier de configuration dont ce serait le seul job. C'est sûr que si la
macro existe déjà, il n'est pas forcément nécessaire de la dupliquer, mais
si "ça" la remplace, ce n'est pas un problème.

Est-ce possible ?

Merci d'avance à ceux qui me mettront sur la voie.

Jac




Publicité
Poster une réponse
Anonyme