Compartilhar via


Método Attachment.Delete (Publisher)

Elimina um objeto Anexo da coleção Anexos de uma mensagem de impressão em série.

Sintaxe

expressão. Eliminar

expressão Uma variável que representa um objeto Anexo .

Comentários

O método Delete executa uma operação irreversível na coleção Attachments. Ele chama IUnknown.Release na referência da coleção para o objeto anexo. Se você tiver outra referência ao anexo, você ainda pode acessar suas propriedades e métodos, mas você pode nunca mais associá-lo com qualquer coleção, pois o método Add sempre cria um novo objeto. Use a palavra-chave Set para definir sua variável de referência, como Nothing ou para outro anexo.

Versão final do objeto Attachment acontece quando você atribui a sua variável de referência como Nothing ou quando você chama a Excluir, se você não tivesse nenhuma outra referência. Neste ponto, o objeto é removido da memória. Tentar obter acesso a um objeto lançado retorna o erro de objeto de dados de colaboração do Microsoft CdoE_INVALID_OBJECT.

Quando você exclui um membro de uma coleção, a coleção for atualizada imediatamente, que significa que sua propriedade Count é reduzida por uma e seus membros são reindexados. Para acessar o membro que anteriormente seguido o membro excluído da coleção, você deve usar o novo valor de índice.

Para eliminar todos os anexos da mensagem de impressão em série atual, utilize o método ClearAll da coleção Anexos .

Exemplo

A seguinte macro do Microsoft Visual Basic for Applications (VBA) mostra como eliminar um anexo da mensagem numa impressão em série. O código exclui o anexo na posição de índice do primeiro na coleção Attachments e, em seguida, imprime o nome de anexo excluído e o número de anexos atual para a mensagem na janela Immediate.

Antes de executar este código, certifique-se de que existe, pelo menos, um anexo para a mensagem de impressão em série atual.

Public Sub Delete_Example() 
 
 Dim pubAttachments As Publisher.Attachments 
 Dim pubAttachment As Publisher.Attachment 
 
 Dim pubMailMerge As Publisher.MailMerge 
 Dim pubEmailMergeEnvelope As Publisher.EmailMergeEnvelope 
 
 Set pubMailMerge = ThisDocument.MailMerge 
 Set pubEmailMergeEnvelope = pubMailMerge.EmailMergeEnvelope 
 Set pubAttachments = pubEmailMergeEnvelope.Attachments 
 
 Set pubAttachment = pubAttachments(1) 
 Debug.Print pubAttachments.Count 
 Debug.Print pubAttachment.Name 
 
 pubAttachment.Delete 
 
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.