Les insertions automatiques sont stockées dans le normal.dot

Si vous copiez le fichier sur une autre machine, vous perdrez le contenu du fichier existant.

La solution consiste donc à extraire les insertions automatiques dans un document pour ensuite au départ de ce même document les ajouter dans le normal.dot d'un autre utilisateur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub SauvegardeInsertionsAutomatiques()
'Extraction des insertions automatiques
' Nom;Valeur
Dim autoIns As AutoTextEntry
 
 
 
For Each autoIns In NormalTemplate.AutoTextEntries
    Selection.TypeText autoIns.Name & ";" & autoIns.Value & Chr(13)
Next autoIns
 
End Sub
Ce premier code va extraire les insertions automatiques sous la forme d'un paragraphe par insertion, le nom et le texte seront séparé par un (.

La liste obtenue doit être nettoyée pour ne garder que les insertions personnelles ou utiles.

L'utilisation de ce second code va ajouter le texte du document dans les insertions automatiques, une insertion par ligne.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Sub RestaurerInsertionsAutomatiques()
'Ajout des insertions automatiques
Dim pAra As Paragraph
Dim myInser() As String
For Each pAra In ActiveDocument.Paragraphs
myInser = Split(pAra.Range.Text, ";")
Debug.Print myInser(0) & " - " & myInser(1)
NormalTemplate.AutoTextEntries.Add Name:=myInser(0), Range:=Selection.Range
NormalTemplate.AutoTextEntries(myInser(0)).Value = myInser(1)
Next pAra
 
End Sub