Partager via


PictureFormat.Replace, méthode (Publisher)

Remplace l'image spécifiée. Renvoie la valeur Nothing.

Syntaxe

expression. Replace (PathName, InsertAs)

Expression Variable qui représente un objet PictureFormat .

Parameters

Nom Requis/Facultatif Type de données Description
PathName Requis Chaîne Nom et chemin d'accès au fichier par lequel vous voulez remplacer l'image spécifiée.
InsertAs Facultatif PbPictureInsertAs Méthode choisie pour l'insertion du fichier image dans le document : lié ou incorporé. Il peut s’agir de l’une des constantes PbPictureInsertAs déclarées dans la bibliothèque de type Microsoft Publisher ; la valeur par défaut est pbPictureInsertAsOriginalState.

Remarques

Utilisez la méthode Replace pour mettre à jour des fichiers d'image liés qui ont été modifiés depuis qu'ils ont été insérés dans le document.

Utilisez la propriété LinkedFileStatus pour déterminer si une image liée a été modifiée.

Exemple

L'exemple suivant montre comment remplacer chaque occurrence d'une image spécifique dans la composition active par une autre image.

Sub ReplaceLogo() 
 
Dim pgLoop As Page 
Dim shpLoop As Shape 
Dim strExistingArtName As String 
Dim strReplaceArtName As String 
 
 
strExistingArtName = "C:\path\logo 1.bmp" 
strReplaceArtName = "C:\path\logo 2.bmp" 
 
For Each pgLoop In ActiveDocument.Pages 
 For Each shpLoop In pgLoop.Shapes 
 If shpLoop.Type = pbLinkedPicture Then 
 
 With shpLoop.PictureFormat 
 If .Filename = strExistingArtName Then 
 .Replace (strReplaceArtName) 
 End If 
 End With 
 
 End If 
 
 Next shpLoop 
Next pgLoop 
 
End Sub

Cet exemple montre comment vérifier chaque image liée afin de déterminer si le fichier lié a été modifié depuis son insertion dans la composition. Le cas échéant, l'image est mise à jour en remplaçant le fichier par lui-même.

Sub UpdateModifiedLinkedPictures() 
 
Dim pgLoop As Page 
Dim shpLoop As Shape 
Dim strPictureName As String 
 
 
For Each pgLoop In ActiveDocument.Pages 
 For Each shpLoop In pgLoop.Shapes 
 If shpLoop.Type = pbLinkedPicture Then 
 
 With shpLoop.PictureFormat 
 If .LinkedFileStatus = pbLinkedFileModified Then 
 strPictureName = .Filename 
 .Replace (strPictureName) 
 End If 
 End With 
 
 End If 
 Next shpLoop 
Next pgLoop 
 
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.