Dans une série de fichiers tous construits de la même façon, comment récupérer un mot toujours situé au même endroit et enregistrer le fichier sous ce nom ?

Si les fichiers sont tous semblables, il suffit de connaître le numéro du paragraphe et du mot à récupérer. Dans l'exemple ci-après, il s'agit du 5e mot du 12e paragraphe:

Sub nom()
Dim nom
nom = ActiveDocument.Paragraphs(12).Range.Words(5)
ActiveDocument.SaveAs FileName:= "c:\" & nom & ".docx
End Sub

 

Attention ! Si vous souhaitez utiliser le texte d'un paragraphe complet (un paragraphe est déterminé par un retour paragraphe), il faudra, dans la macro, supprimer le retour paragraphe inclus dans ce dernier car il ne peut pas être utilisé dans un nom de fichier, et cela provoquerait une erreur. La macro suivante utilise le texte du 3e paragraphe pour nommer le fichier :

 

Sub nom_para()
'macro écrite par m@rina
Dim nom As String, nom2 As String, nombre
nom = ActiveDocument.Paragraphs(3).Range
nombre = ActiveDocument.Paragraphs(3).Range.Characters.Count
nom2 = (Left(nom, nombre - 1))
ActiveDocument.SaveAs FileName:=nom2 & ".docx"
End Sub