PictureFormat.Replace-Methode (Publisher)

Die angegebene Grafik ersetzt. Gibt Nothing zurück.

Syntax

Ausdruck. Replace (PathName, InsertAs)

Ausdruck Eine Variable, die ein PictureFormat-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
PathName Erforderlich String Der Name und Pfad der Datei, durch die die angegebene Grafik ersetzt werden soll.
InsertAs Optional PbPictureInsertAs-Wert Die Art, in der die Grafikdatei in das Dokument eingefügt werden soll: verknüpft oder eingebettet. Kann eine der in der Microsoft Publisher-Typbibliothek deklarierten PbPictureInsertAs-Konstanten sein. Der Standardwert ist pbPictureInsertAsOriginalState.

HinwBemerkungeneise

Verwenden Sie die Replace -Methode, um verknüpfte Grafikdateien zu aktualisieren, die geändert wurden, da sie in das Dokument eingefügt wurden.

Verwenden Sie die LinkedFileStatus-Eigenschaft , um zu bestimmen, ob ein verknüpftes Bild geändert wurde.

Beispiel

Das folgende Beispiel ersetzt jedes Vorkommen einer bestimmten Grafik in der aktiven Publikation durch eine andere Grafik.

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

Dieses Beispiel prüft jede verknüpfte Grafik, um zu ermitteln, ob die verknüpfte Datei seit dem Einfügen in die Publikation geändert wurde. Wenn dies der Fall ist, wird die Grafik aktualisiert, indem die Datei durch sich selbst ersetzt wird.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.