cjoint

Publicité


Publicité

Format du document : text/plain

Prévisualisation

Option Explicit

Sub ModifierInsertions()
' Cette macro remplace du texte dans les insertions d'un modèle dotm
Const ancienTexte As String = "Company OldOne"
Const nouveauTexte As String = "Company NewOne"

Dim DocSource As Template
Dim Resultat As Document
Dim insertion As AutoTextEntry
Dim Correction As AutoCorrectEntry
Dim bloc As Variant
Dim i As Integer, p As Long
Dim texte As String
Dim texteM As String
With Dialogs(wdDialogFileOpen)
.name = "*.dotm"
.ReadOnly = False
If .Display <> -1 Then
MsgBox "Abandon : pas de modèle indiqué"
Exit Sub
End If
.Execute
End With
Set DocSource = ActiveDocument.AttachedTemplate

' Recopie les insertions actuelles dans un nouveau document Word
Set Resultat = Documents.Add
Resultat.Range.InsertAfter vbCrLf & " > > > > > > > Liste des Autotext a " & vbCrLf & vbCrLf
With DocSource
For i = 1 To .AutoTextEntries.count
Set insertion = .AutoTextEntries(i)
texte = insertion.Value
Resultat.Range.InsertAfter i & " original : " & insertion.name & vbTab & texte & vbCrLf
p = InStr(1, texte, ancienTexte)
If p > 0 Then 'le texte recherché existe, le remplacer
texteM = Left(texte, p - 1) & nouveauTexte & Mid(texte, p + Len(ancienTexte))
.AutoTextEntries(i).Value = texteM
Resultat.Range.InsertAfter i & " modifié : " & insertion.name & vbTab & .AutoTextEntries(i).Value & vbCrLf
End If
Next i
End if

Publicité


Signaler le contenu de ce document

Publicité