部分的なドキュメントを操作する
サイズが大きいコンテンツを含むプレゼンテーションを開くと、PowerPoint部分のドキュメントが部分的なドキュメントとして提供される場合があります。 これにより、ドキュメントをすばやく開いたり、編集したり、共同作業したりできますが、大きなメディア パーツ (ビデオなど) はバックグラウンドで読み込み続けます。 同様に、メディアはドキュメントの残りの部分とは別に処理されるため、コラボレーション セッション中にメディアを挿入すると、コラボレーションがスムーズになります。
特定のコンテンツは最初に遅延できるため、一部のアクションは、遅延コンテンツが読み込まれるまで実行できません。 さらに、[名前を付けて保存] や [ビデオにエクスポート] などの特定のアクションがあります。これは、すべての遅延コンテンツがダウンロードされるまで機能しません。 これらの操作のいずれかを開始すると、PowerPointはダウンロードの進行状況を通知する UI を表示しますが、プログラムによる操作では不可能です。 コンテンツのダウンロード中にプログラムによって 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
エラー処理
また、エラー処理を追加してエラーをキャプチャし、プレゼンテーションが完全にダウンロードされたら操作を再試行することもできます。 エラー値が -2147188128
または 0x80048260
場合、プレゼンテーションが完全にダウンロードされていないため、操作は失敗します。
次の例に示すように、 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 呼び出しの一覧を次に示します。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。