KB0239: Microsoft 365でPowerPointファイルサイズが急速に増加する
問題
最も直接的に確認できる症状は、PowerPointプレゼンテーションのファイルサイズが異常に大きくなり、場合によっては想定の何倍にもなることです。場合によっては、その後ファイルを開く、編集する、保存する操作が非常に遅くなったり、まったく開けなくなったりする可能性もあります。
この問題は、次の条件下で発生する可能性があります:
- ファイルがSharePoint上の場所に保存されている(または保存されていた)
- ファイルが次のような方法で暗号化されている(または暗号化されていた)
- Azure Information Protection
- Microsoft Information Protection
- Microsoft Purview Information Protection
- アクセス制限
- スライドまたはスライド上のコンテンツにTagsまたはCustomerDataオブジェクトが含まれている(thinkcellや多くの他のアドインは、Microsoftの規定に従ってTagsオブジェクトを使用します)
影響を受けたスライドやオブジェクトを他のプレゼンテーションにコピーすると、上記の条件を満たしていない場合でも、追加のファイルに問題が持ち込まれる可能性があります。
解決策
Microsoftはこの問題の修正をリリースしており、現時点ではMicrosoft 365の最新の公開済み更新プログラムで利用できます。Monthly Enterprise ChannelおよびSemi-Annual Enterprise Channelで提供されている古いバージョンは、当面の間まだ影響を受ける可能性があります。
影響を受けるバージョンと修正済みバージョンの表は以下のとおりです:
|
バージョン |
最初に影響を受けるビルド |
修正が利用可能なバージョン: |
|---|---|---|
|
2208 |
15601.20578 |
** |
|
2301 |
16026.20002 |
** |
|
2302 |
* |
16130.20714 |
|
2303 |
* |
** |
|
2304 |
* |
** |
|
2305 |
* |
** |
|
2306 |
* |
16529.20182 |
|
2307 |
* |
16626.20000 |
* - 初期リリースに問題が存在
** - 修正予定なし
注:Microsoftの修正により問題の発生は防止されますが、すでに影響を受けているファイルは修復されません。ただし、影響を受けたファイルをクリーンアップするためのいくつかの選択肢があり、Microsoftの修正と組み合わせることで問題を解決できるはずです: もっと読む
PowerPointに組み込まれているドキュメント検査を使用して、影響を受けたファイルからcustomXMLデータを削除できます。このツールを使用する場合は、Custom XML dataオプションのみを使用するようにしてください。追加のコンテンツタイプを削除すると、ドキュメントからthinkcellの機能が削除されるなど、意図しない結果を招く可能性があります。
thinkcell 12をご使用の場合、クリーンアップとサニタイズツールを使用すると、同じ機能により簡単にアクセスできます。
これら2つの方法のいずれかでcustomXMLデータを削除しても、未修正バージョンのPowerPointを使用している場合は再び蓄積されることを防げませんが、少なくとも一時的に問題を「リセット」できます。
ファイルの損傷が非常に深刻で、PowerPointで確実に開けず、そのためドキュメント検査もthinkcellのClean upツールも使用できない場合、または影響を受けたドキュメントの数が多く自動化された解決策が必要な場合は、弊社サポート チームまでお問い合わせください。お手伝いできる場合があります。
分析
当社の開発者がこの問題を詳細に分析しました。上記の条件を満たす場合、SharePointに保存され、暗号化されているファイルを開くと、PowerPointがコード内で次の関数を呼び出すことがあります:
PPT::FileIO::CustomerDataXmlReader::DeSerializeCustomerDataFromEncryptedStorage
この関数は、一覧に記載されたPowerPointのバージョンから新たに追加されました。SharePointに保存されているファイルには、SharePointのファイル管理に使用される特定のcustomXMLデータファイルが含まれています。このコード関数が呼び出されると、ドキュメント全体に含まれるすべてのcustomXMLファイルが、TagまたはCustomerDataを含むスライドまたはオブジェクトごとに複製されます。影響を受けたファイルで作業を続けると、通常の編集操作の過程でも、この不要なデータが蓄積し続ける可能性があります。
この問題はthinkcellなしでも再現できます。詳細な再現手順については、こちらをクリックしてください: もっと読む
thinkcellなしでの再現:
- thinkcellを無効化または一時的に削除した状態で、プレースホルダーテキストボックスのない新しい空白のPowerPointプレゼンテーションを開きます
- PowerPointの四角形を1つ挿入します(例:Insert > Illustrations > Shapesから)
- VBAウィンドウを開きます(Alt+F11を押します)
-
Immediate Window(表示されていない場合はCtrl+Gを押して有効にできます)に次の内容を入力し、Enterを押します:
ActivePresentation.Slides(1).Shapes(1).Tags.Add "Test", "Tag" - VBAウィンドウを閉じます
- PowerPointで四角形を選択し、Ctrl+Dで30回複製して、合計31個の四角形が存在するようにします(図形が少なくても再現は可能ですが、その場合ファイルサイズはそれに応じて変わります)
-
プレゼンテーションをSharePoint上の場所に保存します
SharePointに完全に同期されると、ドキュメントのサイズは約54 KBになるはずです。
- 次に、PowerPointリボンのFileタブに移動し、Info > Protect Presentation > Restrict Access > Restricted Accessを選択します:
- 表示される権限ダイアログで、Restrict permission to this presentationのボックスにチェックを入れ、OKをクリックします:
- ドキュメントを保存し(例:Ctrl+Sを押す)、その後完全に閉じます
- ドキュメントを再度開きます
- もう一度File > Info > Protect Presentation > Restrict Accessに移動し、今回はUnrestricted Accessを選択してアクセス制限を解除します
-
ドキュメントを再度保存し、その後閉じます。
ドキュメントは本来54 KBのままのはずですが、サイズが約195 KBに増加しています。
-
ドキュメントを再度開き、手順8~13を繰り返します
ドキュメントは本来54 KBのままのはずですが、サイズが約5 MBに増加しています。
ファイル構造を調べると(例:.pptxファイルをコピーし、コピーのファイル拡張子を.zipに変更してからアーカイブを展開する)、customXmlサブフォルダー内に含まれるitem*.xmlおよびitemProps*.xmlファイルの数が、SharePointへの同期後は各ファイルタイプ3個だったものから、1回目の繰り返し後には各96個、2回目の繰り返し後には各2979個に増えることが確認できます。
customXMLデータの重複につながる可能性のある追加の手順やワークフローもありますが、これは最も分かりやすく実演でき、最も顕著な影響が現れるものです。
thinkcell が影響を受ける理由
thinkcell は customXML データを使用しませんが、thinkcell で作成された各図形またはオブジェクト内で Tags を使用します。そのため、thinkcell で作成されたスライドにはタグ付けされた図形が特に多く含まれる場合があり、この問題により customXML データが非常に高速に複製されることがあります。