Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2010年03月03日] [更新 2015年04月20日] ワード操作フォームEx
ワード操作フォームEx   参考コード類
Word 2007 - docx 形式文書の構造
動作確認等 Word 2007, Word 2010







Word 2007 - docx 形式文書の構造


ワードは 2007 になって、文書の保存形式が大きく変更となりました。拡張子は docx です。
このファイルは zip 形式のファイルです。docx で保存したファイルの拡張子を zip に変更するとその構造を見ることができます。ただし、圧縮解凍アプリによっては解凍閲覧できない場合があります。
Window XP 以降の OS では、zip, cab 等のファイル内も検索して展開表示する機能があります。この機能を有効にしていると、エクスプローラの展開表示が非常に遅くなるため、無効にしている方が多いと思いますが、Windows XP であれば以下の方法でこれを有効にすると表示できます。Vista 以降ではレジストリの操作が必要です。
  • zip ファイル検索を有効にするには、コマンドラインから regsvr32 zipfldr.dll を実行
  • zip ファイル検索を無効にするには、コマンドラインで regsvr32 /u zipfldr.dll を実行
  • 参考までに、cab ファイルの場合は regsvr32 cabview.dll と regsvr32 /u cabview.dll
この操作を行うと、圧縮解凍アプリの拡張子関連の設定が無効となる場合があります。再設定が必要となるかも知れません。
Word 2007 のブックの拡張子を zip に変更しても、Word 2007 にドラッグ・ドロップすれぱその文書を開くことができます。


図1
docx 文書の拡張子を変更
  • ここではコピーして変更
図2
文書の構造
  • xml で格納されている




docx 形式文書の解凍・展開操作

Word 2007 以降の文書は zip 形式のファイルです。ZIP 書庫として操作すれば閲覧あるいは解凍・展開することができます。
下記の最初のリンクの記事に .xlsx 形式のブックの例ですが、展開した例があります。次のリンクの記事は .docx 形式の文書ファイルから、画像や図形だけを取り出すサンプルです。クリップボードのデータから取得しています。展開には Delphi XE2 で実装された TZipFile を使用しています。
3 番目のリンクの記事のように、展開後に XML の操作で情報を取り出すこともできます。


ZIP 書庫は解凍展開してディクスに保存しなくても操作できます。