Soit un modèle de formulaire Word (à partir de la version 2007 qui contient des contrôles de contenu.

Si l'on souhaite récupérer la valeur d'un de ces contrôles de contenus et automatiser l'enregistrement du document en utilisant cette valeur, il faut créer une petite macro que l'on mettra dans le modèle.

La propriété Item(1) indique qu'on utilise le premier contrôle du modèle. Remplacer le numéro 1 par le numéro souhaité si nécessaire.

Sub enregistre()
'macro écrite par m@rina
Dim controle As ContentControl
Dim mondoc
Set controle = ActiveDocument.ContentControls.Item(1)
nomdoc = controle.Range
ActiveDocument.SaveAs2 FileName:="C:...\" & nomdoc & ".docx"
End Sub

 

Si le numéro d'index du contrôle pose problème (contrôles trop  nombreux qui risquent de changer de place), on peut utilise le numéro d'identification (ID) qui, lui, ne change jamais. Voir ici.

 

Statistiques

Aujourd'hui2731
Hier2722
Cette semaine7966
Total depuis 20049620224

5
visiteurs actuellement en ligne