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.