Compartilhar via


Método PictureFormat.Replace (Publisher)

Substitui a imagem especificada. Retornará Nothing.

Sintaxe

expressão. Substituir (PathName, InsertAs)

Expressão Uma variável que representa um objeto PictureFormat .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
PathName Obrigatório String O nome e o caminho do arquivo que substituirá a imagem especificada.
InsertAs Opcional PbPictureInsertAs A maneira na qual você deseja inserir o arquivo da imagem no documento: vinculada ou incorporada. Pode ser uma das constantes PbPictureInsertAs declaradas na biblioteca de tipos do Microsoft Publisher; o valor padrão é pbPictureInsertAsOriginalState.

Comentários

Use o método Replace para atualizar os arquivos de imagens vinculadas que foram modificados desde que eles foram inseridos no documento.

Use a propriedade LinkedFileStatus para determinar se uma imagem vinculada foi modificada.

Exemplo

O seguinte exemplo substitui todas as ocorrências de uma imagem específica na publicação ativa por outra imagem.

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

Este exemplo testa cada imagem vinculada para determinar se o arquivo vinculado foi modificado desde sua inserção na publicação. Se houver modificação, a imagem é atualizada substituindo o arquivo por ela mesma.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.