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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Garette
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" a écrit dans le message de news:
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
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" <Jsansp@mfra.net> a écrit dans le message de news:
u7xgnthbHHA.4720@TK2MSFTNGP04.phx.gbl...
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.
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" a écrit dans le message de news:
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.