ナレッジ ベース KB0162

think-cell機能がPowerPoint 2010で失われる

問題

.pptxファイルをPowerPoint 2010で開くと、think-cell要素がthink-cell機能を失います。Microsoft Graphベースのグラフ(think-cell積み上げグラフなど)をダブルクリックすると、データシートが開かず、以下のメッセージが表示されます。変換メッセージ1また、[現在の形式のままで編集] をクリックすると以下が表示されます。

変換メッセージ2まだファイルがPowerPoint 2010で保存されていない場合は、PowerPoint 2007で開けばthink-cellの機能を完全に使用することができます。一度、PowerPoint 2010で保存されると、Office 2007で開いても、think-cellのすべての機能は恒久的に失われます。

この問題は、電子メールで受領したファイルで、送信者がWorkshare Protect 7のようなクリーニング ツールやZipMail 11のような圧縮ツールをインストールしている場合に発生する可能性が最も高くなります。

ZipMail 11では電子メールの添付ファイル向けの「実行中のネイティブXMLボリューム最適化」が可能です。つまり、.pptxファイルでzipアーカイブを圧縮解除し、よりよい圧縮率で再び圧縮します。

Workshare Protect 7は、.pptxファイルを解凍、クリーニングして再びzip圧縮することで「メタデータや注記、非表示のコメントのような隠されている電子情報をすべてクリーンアップして削除」します。

PowerPoint 2010のバグにより、グラフや画像のような要素が埋め込まれている有効な.pptxファイルすべてが適切に開くわけではありません。

解決策

Microsoftはこのバグを修正しました。2012年6月のOffice 2010更新プログラムまたは修正プログラムKB2687274をインストールしてください。

影響を受けたファイル(まだ修正プログラムなしで保存されていないもの)は、修正プログラムKB2687274をインストールした後、PowerPoint 2010で開いて保存すると修復できます。注意:修正プログラムKB2687274を使用せず、影響を受けたファイルをPowerPoint 2010で保存すると、埋め込まれたオブジェクトは恒久的に破損します。ファイルを電子メールで受領した場合は、再び電子メールから直接開いてください。

ZipMailはPowerPointのバグの回避策を実装しているため、ZipMailを使用して、修正プログラムKB2687274を使用していない他のPowerPoint 2010ユーザーに電子メールを送っても問題は発生しません。回避策を有効にするには、Zipmail 11.1.3以降に更新してください。zmlnl.iniファイルでは、新しいパラメータZipMailFixPPTXEmbeddedObjects=1を含めてください。

説明

.pptxファイルは実際には、スライドやスタイルの定義などの様々な要素が別個のファイルとフォルダーに保存されたzipアーカイブです。PowerPoint仕様(ECMA-376.2.C2、テーブルC-2およびC-5)では、さまざまな異なるzip形式を使用できます。PowerPoint 2010の回帰バグが原因で、PowerPointで使用される既定の「Deflate - superfast」以外のzip形式で埋め込まれたオブジェクトがタグ付けされている場合、PowerPointはこれを開くことを拒否します。

IT専門家であれば、埋め込みでどのzip圧縮方法が使われているのかチェックした方がよいかもしれません。確認するには以下の手順を実行してください。

  • .pptxファイルの名前を.txtファイルに変更し、Hexエディターで開きます(例:HexEditプラグインを実装するNotepad++)。
  • ANSIモードで「ppt/embeddings/oleobject」を検索し、zip構造のローカル ファイルのヘッダーを検索します(実際には検索文字列は圧縮された埋め込みオブジェクトのファイル名です)。
  • この直前にローカル ファイル ヘッダー シグネチャー「50 4B 03 04」(Hexモード)を選択します。バイトはここからカウントされます(0から始まります)。マルチバイト数はリトル エンディアン表記で保存されます。つまり、下位バイトが最初に格納されます。zipヘッダー
  • 背景:
    ヘッダーの最初からカウントされたバイト8-9は圧縮方法(CM)を示します。「Deflate」は「08 00」になります。
    バイト6-7には、汎用目的ビット フラグ(GPBF)が含まれ、16ビットに様々な情報が含まれます。圧縮タイプ「Deflate」では、ビット1および2は圧縮サブタイプを示します。PowerPointで書き込まれた.pptxファイルでは、ビット1 = 1、ビット2= 1で、他のビットは0に等しくなるため、GPBF "06 00" になります。
  • .pptxファイルが圧縮またはクリーンアップ ツールで処理されているか確認する方法:
    バイト6-7 (GPBF) と8-9 (CM) を見てください。これらのバイトが以下でない場合:

    zipヘッダー

    これは.pptxファイルはPowerPointではなく異なるプログラムで圧縮されていることを示しています。このため、.pptxファイルはこの記事で説明されているPowerPointのバグの影響を受けます。

クリーニング ツールと圧縮ツールは.pptxファイルのzipアーカイブを解凍した後、異なるzip形式で圧縮する可能性があります。この後、ファイルは以下の状態になります。

  • まだPowerPoint仕様に準拠しているためOffice 2007で適正に開けます。
  • Office 2010では適正に開けません。