Word 365 remplacer chemin par image

Word 365 remplacer chemin par image - Logiciels - Windows & Software

Marsh Posté le 16-11-2023 à 17:34:12    

Bonjour,
 
j'ai en sortie de progiciel, un document word d'environ 800 salariés.
Celui-ci contient des cartes individuelles
Dans un cadre de ce document, j'ai un chemin pointant vers la photo du salarié
par exemple j'ai c:\temp\00055885.jpg
 
Je souhaite remplacer ce chemin par la photo pour que Word affiche la bobine du salarié.
Je précise bien évidemment que je n'ai pas accès à la source de données ni la possibilité de refaire une fusion publipostage  
 
J'ignore si c'est faisable.
 
Merci par avance

Reply

Marsh Posté le 16-11-2023 à 17:34:12   

Reply

Marsh Posté le 20-01-2024 à 09:54:45    

Bonjour,
 
au cas ou le problème serait toujours d'actualité ou que qq'un d'autre en aurait besoin, voici une macro qui devrait faire d'allaire
 
Sub Remplacer_Chemin_Par_Champ_INCLUDEPICTURE()
 
    ' constante à modifier, l'* correspond à une suite de caractères inconnus
    Const Chemin_Image As String = "C:\\*.jpg"
     
    Dim Texte_Remplacement As String
    Dim Texte_Doc
    Dim Nb_Parag As Long
    Dim Num_Parag As Long
    Dim Code_De_Champ
     
    ' Boucle sur tous les parag en partant de la fin (bug sinon)
    Nb_Parag = ActiveDocument.Paragraphs.Count
    For Num_Parag = Nb_Parag To 1 Step -1
     
        ' Limite la recherche a 1 seul paragaphe à la fois
        Set Texte_Doc = ActiveDocument.Paragraphs(Num_Parag).Range
         
        ' Recherche le texte (chemin de l'image)
        With Texte_Doc.Find
            .Text = Chemin_Image ' Recherche le chemins de l'image
            .MatchWildcards = True ' obligatoire pour une recherche générique
            .Execute
            If .Found Then
                 
                ' Remplace l'\ par 2 \
                Texte_Remplacement = Replace(Texte_Doc.Text, "\", "\\" )
                 
                ' remplace le texte trouvé par le code de champ et le chemin de l'image
                Set Code_De_Champ = Texte_Doc.Fields.Add(Texte_Remplacement, Type:=wdFieldIncludePicture, Text:=Texte_Trouve)
             
            End If
        End With
    Next Num_Parag
     
End Sub
 

Reply

Marsh Posté le 20-01-2024 à 10:24:57    

Et avec la balise [ FIXED ] qui va bien, ça donne… :o

Sub Remplacer_Chemin_Par_Champ_INCLUDEPICTURE()
 
    ' constante à modifier, l'* correspond à une suite de caractères inconnus
    Const Chemin_Image As String = "C:\\*.jpg"
     
    Dim Texte_Remplacement As String
    Dim Texte_Doc
    Dim Nb_Parag As Long
    Dim Num_Parag As Long
    Dim Code_De_Champ
     
    ' Boucle sur tous les parag en partant de la fin (bug sinon)
    Nb_Parag = ActiveDocument.Paragraphs.Count
    For Num_Parag = Nb_Parag To 1 Step -1
     
        ' Limite la recherche a 1 seul paragaphe à la fois
        Set Texte_Doc = ActiveDocument.Paragraphs(Num_Parag).Range
         
        ' Recherche le texte (chemin de l'image)
        With Texte_Doc.Find
            .Text = Chemin_Image ' Recherche le chemins de l'image
            .MatchWildcards = True ' obligatoire pour une recherche générique
            .Execute
            If .Found Then
                 
                ' Remplace l'\ par 2 \
                Texte_Remplacement = Replace(Texte_Doc.Text, "\", "\\" )
                 
                ' remplace le texte trouvé par le code de champ et le chemin de l'image
                Set Code_De_Champ = Texte_Doc.Fields.Add(Texte_Remplacement, Type:=wdFieldIncludePicture, Text:=Texte_Trouve)
             
            End If
        End With
    Next Num_Parag
     
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed