Utiliser des documents partiels

Lorsque vous ouvrez une présentation avec du contenu de grande taille, PowerPoint peut servir le document en parties en tant que documents partiels. Cela vous permet d’ouvrir, de modifier et de collaborer rapidement sur des documents, tandis que les composants multimédias plus volumineux (par exemple, les vidéos) continuent de se charger en arrière-plan. De même, étant donné que les médias sont gérés séparément du reste du document, la collaboration est plus fluide lorsque le média est inséré pendant une session de collaboration.

Étant donné que certains contenus peuvent être différés initialement, certaines actions ne peuvent pas être effectuées tant que le contenu différé n’est pas chargé. En outre, il existe certaines actions telles que Enregistrer sous, Exporter vers la vidéo, etc. qui ne fonctionnera pas tant que tout le contenu différé n’est pas téléchargé. Si vous lancez l’une de ces opérations, PowerPoint affiche l’interface utilisateur pour vous informer de la progression du téléchargement, mais cela n’est pas possible pour les opérations programmatiques. Si vous tentez par programmation d’appeler une API pour exécuter une action alors que le contenu est en cours de téléchargement, l’opération échoue.

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

Comprendre l’état entièrement téléchargé

Pour comprendre si une présentation est entièrement téléchargée par programme, vous pouvez interroger la propriété Presentation.IsFullyDownloaded avant d’appeler l’une des API concernées.

If ActivePresentation.IsFullyDownloaded Then
    MsgBox "Presentation download is complete."
Else
    MsgBox "PowerPoint is still downloading the presentation."
End If

Gestion des erreurs

Vous pouvez également ajouter une gestion des erreurs pour capturer l’échec et réessayer l’opération une fois la présentation entièrement téléchargée. Si la valeur d’erreur est -2147188128 ou 0x80048260, l’opération a échoué, car la présentation n’est pas entièrement téléchargée. Utilisez Err.Number comme clé pour identifier ces échecs, comme indiqué dans l’exemple suivant.

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

API impactées

Voici une liste d’appels d’API OM impactés qui peuvent retourner le code d’erreur :

Nom
Presentation.Export
Presentation.ExportAsFixedFormat
Presentation.ExportAsFixedFormat2
Presentation.SaveAs
Presentation.SaveCopyAs
Presentation.SaveCopyAs2
Presentation.Password
Presentation.WritePassword
Selection.Copy
Selection.Cut
Shape.Copy
Shape.Cut
ShapeRange.Cut
ShapeRange.Copy
Shapes.Paste
Shapes.PasteSpecial
Slide.Copy
Slide.Cut
Slide.Export
SlideRange.Copy
SlideRange.Cut
SlideRange.Export
Slides.Paste
CustomLayouts.Paste
View.Paste
View.PasteSpecial
MediaFormat.Resample
MediaFormat.ResampleFromProfile
Player.Play

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.