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 書庫は解凍展開してディクスに保存しなくても操作できます.