Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2011, 14h20   #1
Invité de passage
 
Homme Romain
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Romain
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 2
Points : 2
Par défaut Problème de .attachedTemplate

Bonjour,

J'ai créé un modèle de document nommé macro.dot qui contient un certain nombre de macros.
J'aimerais pouvoir exécuter ces macros à partir d'un autre document, en lui attachant le modèle de par VB.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
 
 Dim oWord As New Word.Application
                   .....
 Try
            oWord.Visible = False
            oWord.Documents.Open("mondoc")
            oWord.ActiveDocument.AttachedTemplate = "chemin\macro.dot"
            oWord.Run("macro1")
Catch generatedExceptionVariable0 As Exception
End Try
Tout marche parfaitement avec word2003 mais cela plante au niveau de l'attachedTemplate avec word2007.
L'erreur relevée au niveau du catch est : "La commande a échouée".

Quelqu'un saurait pourquoi..?
Y a t' il une façon d'y remédier ? Avec un autre attribut ayant la même fonction que attachedTemplate par exemple

Merci d'avance pour votre aide
Kiki-31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 19h27   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 324
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 324
Points : 29 225
Points : 29 225
Salut,

Pourquoi ne pas ajouter ton modèle en tant que complément ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 09h48   #3
Invité de passage
 
Homme Romain
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Romain
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 2
Points : 2
Bonjour,

Tout d'abord merci pour votre réponse.

Oui c'est ce que j'aimerais faire mais je sais pas comment en vba.
Je ne peux l'attacher "manuellement" car il y a une centaine de document à traiter de cette façon.
Kiki-31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 11h12   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 324
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 324
Points : 29 225
Points : 29 225
Salut,

Un document que l'on met en complément est actif pour tous les documents, ça fonctionne au niveau de l'application.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 16h17   #5
Invité de passage
 
Homme Romain
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Romain
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 2
Points : 2
Je pense avoir mal expliqué mon problème.

Je travaille sur une application à déployer chez des clients.
Une fonctionnalité de cette application permet la création de document Word par fusion d’un modèle et de données contenue dans une base.
A l’heure actuelle, l’application fait appel à un assembly VB qui ouvre le modèle nécessaire à la fusion et exécute les macros qu’il contient.
Ce qui veut dire que chaque modèle doit contenir les macros ce que je voudrais éviter.

J’ai donc pensé créer un modèle macro.dot situé chez chaque client qui contiendrait les macros et qui serait appelé par l’assembly directement (mon code lors du premier post).
Cette solution marche bien avec word2003 mais l’attribut .attachedTemplate ne semble pas être géré de la même manière sous 2007
et je ne peux donc plus attacher ce modèle à mes documents de par vb.

L’idée de complément correspondrait bien à ce que je veux faire mais il faudrait que cette solution puisse être déployé facilement coté client par un setup par exemple.
Mais je ne sais pas s’il est possible de réécrire une macro en vb, ou d’introduire du code vba dans un complément COM ou dans du VB.
Ni même si il n’y a pas de solution plus simple ..
Kiki-31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 17h18   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 324
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 324
Points : 29 225
Points : 29 225
Salut,

On peut ajouter un complément en VBA.

Code :
AddIns.Add FileName:="D:\Documents and Settings\Olivier\Mes documents\Template\MOD02_v01 - GN_Lettre.dotx"
On peut les retrouver

Code :
1
2
3
4
5
6
7
 
Dim ai As AddIn
 
For Each ai In Application.AddIns
 
Debug.Print ai.Name
Next ai
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 11h06   #7
Invité de passage
 
Homme Romain
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Romain
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 2
Points : 2
Ça a l'air de marcher!
Je vais pousser un peu plus mes tests pour prendre en compte tout les cas possibles.
En tout cas merci beaucoup pour ton aide !
Kiki-31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h24.


 
 
 
 
Partenaires

Hébergement Web