部分ドキュメントを操作する

サイズが大きいコンテンツを含むプレゼンテーションを開くと、PowerPoint は部分ドキュメントとしてドキュメントを提供する場合があります。 これにより、ドキュメントをすばやく開いたり、編集したり、共同作業したりできますが、大きなメディア パーツ (ビデオなど) はバックグラウンドで読み込み続けます。 同様に、メディアはドキュメントの残りの部分とは別に処理されるため、コラボレーション セッション中にメディアを挿入すると、コラボレーションがスムーズになります。

特定のコンテンツは最初に遅延できるため、一部のアクションは遅延コンテンツが読み込まれるまで実行できません。 さらに、名前を付けて保存、ビデオにエクスポートなどの特定のアクションがあります。すべての遅延コンテンツがダウンロードされるまで機能しません。 これらの操作のいずれかを開始すると、ダウンロードの進行状況を通知する UI が PowerPoint に表示されますが、プログラムによる操作では不可能です。 コンテンツのダウンロード中にプログラムによって API を呼び出してアクションを実行しようとすると、失敗します。

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

完全にダウンロードされた状態を理解する

プレゼンテーションがプログラムによって完全にダウンロードされているかどうかを理解するために、影響を受ける API を呼び出す前 に Presentation.IsFullyDownloaded プロパティに 対してクエリを実行できます。

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

エラー処理

また、エラー処理を追加してエラーをキャプチャし、プレゼンテーションが完全にダウンロードされたら操作を再試行することもできます。 エラー値が または 0x80048260の場合、-2147188128プレゼンテーションが完全にダウンロードされていないため、操作は失敗しました。 次の例に示すように、 Err.Number をキーとして使用して、これらのエラーを特定します。

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

エラー コードを返す可能性がある影響を受ける OM API 呼び出しの一覧を次に示します。

名前
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

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。