Trabalhar com documentos parciais
Quando você abre uma apresentação com conteúdo grande em tamanho, o PowerPoint pode servir o documento em partes como documentos parciais. Isso permite que você abra, edite e colabore em documentos rapidamente, enquanto as partes de mídia maiores (por exemplo, vídeos), continuam a ser carregadas em segundo plano. Da mesma forma, como a mídia é tratada separadamente do restante do documento, a colaboração é mais suave quando a mídia é inserida durante uma sessão de colaboração.
Como determinado conteúdo pode ser adiado inicialmente, algumas ações não podem ser tomadas até que o conteúdo adiado seja carregado. Além disso, há determinadas ações como Salvar Como, Exportar para Vídeo etc. que não funcionará até que todo o conteúdo adiado seja baixado. Se você iniciar uma dessas operações, o PowerPoint exibirá a interface do usuário informando sobre o progresso do download, mas isso não é possível para operações programáticas. Se você tentar programaticamente chamar uma API para executar uma ação enquanto o conteúdo ainda estiver baixando, ele falhará.
Run-time error '-2147188128 (80048260)':
<object> (unknown member) : This method isn't supported until the presentation is fully downloaded. Visit this URL for more information: https://go.microsoft.com/fwlink/?linkid=2172228
Entender o estado totalmente baixado
Para entender se uma apresentação é totalmente baixada programaticamente, você pode consultar a propriedade Presentation.IsFullyDownloaded antes de chamar qualquer uma das APIs afetadas.
If ActivePresentation.IsFullyDownloaded Then
MsgBox "Presentation download is complete."
Else
MsgBox "PowerPoint is still downloading the presentation."
End If
Tratamento de erros
Você também pode adicionar algum tratamento de erro para capturar a falha e repetir a operação depois que a apresentação for totalmente baixada. Se o valor de erro for -2147188128
ou 0x80048260
, a operação falhará porque a apresentação não foi totalmente baixada.
Use Err.Number como uma chave para identificar essas falhas, conforme mostrado no exemplo a seguir.
Sub TestCopySlide()
On Error GoTo eh
ActivePresentation.Slides(1).Copy
Exit Sub
eh:
If Err.Number = -2147188128 Then
MsgBox "Cannot copy because the presentation is not fully downloaded."
Else
MsgBox "Failure is due to a reason other than incomplete download: " & Err.Description.
End If
Debug.Print Err.Number, Err.Description
End Sub
APIs afetadas
Veja a seguir uma lista de chamadas de API de OM afetadas que podem retornar o código de erro:
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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de