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

Comment trouver le chemin du modèle utilisé ?

4 réponses
Avatar
Jed
Bonjour à tous ,

J'ai crée un modèle principal qui fait le lien vers d'autres modèles, que je
vais envoyer à des utilisateurs sur d'autres sites.
J'aimerai par vba determiner le chemin du modèle principal.
J'ai essayer Curdir, Activedocument.path ... mais comme je double clique sur
le modèle pour ouvrir un nouveau document, le chemin du document n'est pas
encore connu par word n'ayant pas été enregistrer encore, donc mes variables
sont vides.

Comment faire pour avoir le chemin du modèle lancé sans avoir prealablement
enregistrer le document qui en découle ?

En gros j'ai un modele A (principal) qui en fonction du choix de
l'utilisateur ouvre le modele B ou C oou D.

Si je mets tous les modèles au meme endroit, quand je dois activer le modele
C je n'ai qu'a rajouter "C.dot" au chemin de mon modèle "A.dot".

Mais voilà comment trouver ce chemin par VBA.
Merci pour votre aide

Cdlt

Jed

4 réponses

Avatar
Anacoluthe
Bonjour !

'Jed' nous a écrit ...
Comment faire pour avoir le chemin du modèle lancé sans avoir prealablement
enregistrer le document qui en découle ?



Je n'ai pas trop bien compris le propos de la question
(notamment l'intérêt du 1er modèle)

Disons que
Activedocument.AttachedTemplate.Path
vous donne le chemin du modèle attaché au document actif

Anacoluthe
« Le chien a quatre pattes, mais il n'est pas capable
de prendre quatre chemins. »
- Proverbe créole
Avatar
Geo
Bonjour
J'ai crée un modèle principal qui fait le lien vers d'autres modèles, que je
vais envoyer à des utilisateurs sur d'autres sites.
J'aimerai par vba determiner le chemin du modèle principal.



C'est plutôt dans les template qu'il faut taper.
Vous avez la collection templates de tous les modèles actifs.
En balayant cette collection vous pouvez reconnaître le modèle qui vous
intéresse.
Au passage vous verrez passer le modèle "Normal" qui correspond à
NormalTemplate comme activeDocument correspond au document actif.
exemple :

Dim aTemp As Template
Dim Chemin As String

For Each aTemp In Templates
If aTemp.name = "MonModeleA.dot" Then
Chemin = aTemp.Path
exit for
End If
Next aTemp

--
A+
Avatar
jed willer
> Je n'ai pas trop bien compris le propos de la question
(notamment l'intérêt du 1er modèle)



C'est un peu comme la première page d'un site internet. Je fais un lien
vers un autre modèle en fonction de certains paramètres et au passage je
récupère d'autres infos pour alimenter ce deuxième modèle.
Je travaille sur des contrats publiques et 50% du texte est toujours le même
mais diffère en fonction d'un ou deux critères.

Je vais tester votre solution de "Activedocument.AttachedTemplate.Path"

Merci pour votre aide.

Cdlt

jed

"Anacoluthe" a écrit dans le message de
groupe de discussion :
Bonjour !

'Jed' nous a écrit ...
Comment faire pour avoir le chemin du modèle lancé sans avoir
prealablement enregistrer le document qui en découle ?



Je n'ai pas trop bien compris le propos de la question
(notamment l'intérêt du 1er modèle)

Disons que
Activedocument.AttachedTemplate.Path
vous donne le chemin du modèle attaché au document actif

Anacoluthe
« Le chien a quatre pattes, mais il n'est pas capable
de prendre quatre chemins. »
- Proverbe créole


Avatar
jed willer
Bonsoir Geo,

Merci pour cette solution je vais essayer de l'adapter dans mon cas.
Je pense que c'est la bonne solution pour les différents sites qui
déposeront les modèles dans différents répertoires

merci pour votre aide.

Cdlt
Jed


"Geo" a écrit dans le message de groupe de discussion :

Bonjour
J'ai crée un modèle principal qui fait le lien vers d'autres modèles, que
je vais envoyer à des utilisateurs sur d'autres sites.
J'aimerai par vba determiner le chemin du modèle principal.



C'est plutôt dans les template qu'il faut taper.
Vous avez la collection templates de tous les modèles actifs.
En balayant cette collection vous pouvez reconnaître le modèle qui vous
intéresse.
Au passage vous verrez passer le modèle "Normal" qui correspond à
NormalTemplate comme activeDocument correspond au document actif.
exemple :

Dim aTemp As Template
Dim Chemin As String

For Each aTemp In Templates
If aTemp.name = "MonModeleA.dot" Then
Chemin = aTemp.Path
exit for
End If
Next aTemp

--
A+