Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Reemplaza la imagen especificada. Devuelve el valor Nothing.
Sintaxis
expresión. Replace (PathName, InsertAs)
Expresión Variable que representa un objeto PictureFormat .
Parameters
| Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
|---|---|---|---|
| PathName | Obligatorio | String | Nombre y ruta de acceso del archivo con el que desea reemplazar la imagen especificada. |
| InsertAs | Opcional | PbPictureInsertAs | Modo en que se desea insertar el archivo de imagen en el documento: vinculado o incrustado. Puede ser una de las constantes PbPictureInsertAs declaradas en la biblioteca de tipos de Microsoft Publisher; el valor predeterminado es pbPictureInsertAsOriginalState. |
Comentarios
Utilice el método Replace para actualizar los archivos de imagen vinculados que se han modificado desde que se insertaron en el documento.
Use la propiedad LinkedFileStatus para determinar si se ha modificado una imagen vinculada.
Ejemplo:
En el siguiente ejemplo se reemplazan las instancias de una imagen específica de la publicación activa por otra imagen.
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
En este ejemplo se comprueba cada imagen vinculada para determinar si el archivo vinculado se ha modificado desde que se insertó en la publicación. En caso afirmativo, se actualiza la imagen reemplazando el archivo por él mismo.
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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.