ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
DOCX は Microsoft Word 2007 で初めて採用された文書ファイル形式で、それ以降の Word の既定保存形式である。仕様は Office Open XML (OOXML) と呼ばれ、ECMA-376 として標準化された後、ISO/IEC 29500 として国際標準にもなっている。
名前の通り「XML を ZIP に固めたもの」が正体で、旧 .doc のような独自バイナリではない。このため、構造を機械的に解析・生成しやすく、サーバサイドでの自動帳票生成や差分管理 (Git でのレビュー) にも適性がある。
同じ OOXML ファミリには Excel の XLSX、PowerPoint の PPTX がある。いずれも構造は共通で「ZIP に格納された XML + 関連ファイル」である。
内部構造
.docx を unzip で展開すると、以下のようなディレクトリ構成が現れる。これは アーカイブ・圧縮形式 の一種であり、ZIP の構造を完全に踏襲している。
# DOCX の中身を確認
unzip -l report.docx
# [Content_Types].xml ← MIME タイプ宣言
# _rels/.rels ← トップレベル関係性
# word/document.xml ← 本文の XML 本体
# word/styles.xml ← スタイル定義
# word/settings.xml ← 文書設定
# word/fontTable.xml ← フォント情報
# word/theme/theme1.xml ← テーマ
# word/_rels/document.xml.rels
# word/media/image1.png ← 埋め込み画像
# docProps/core.xml ← 作成者・タイトルなどのメタ
# docProps/app.xml ← アプリ情報
本文を担う word/document.xml は XML 仕様にそった文書で、段落 <w:p>、ラン <w:r>、テキスト <w:t> という三層構造を取る。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<w:p>
<w:r>
<w:rPr><w:b/></w:rPr>
<w:t>太字のテキスト</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
主な用途
- 業務文書全般 — 報告書、企画書、議事録、契約書のドラフト
- テンプレート差込 — Word のメール差し込み機能や、サーバサイドでの請求書 PDF 元データ生成
- 共同編集 — Microsoft 365 / OneDrive のクラウド同時編集の基盤
- 論文・原稿 — 出版社・大学が指定するテンプレートとして広く使われる
- 自動生成 — python-docx などでテンプレに動的データを埋め込んで大量帳票を量産
関連形式との比較
| 形式 | 拡張子 | 仕様 | 実体 | 編集の主役 |
|---|---|---|---|---|
| DOCX | .docx | OOXML / ISO 29500 | ZIP + XML | Microsoft Word |
| DOC (旧) | .doc | 独自バイナリ | CFB バイナリ | Word 97-2003 |
| ODT | .odt | ODF / ISO 26300 | ZIP + XML | LibreOffice |
| RTF | .rtf | Microsoft 独自 | 制御文字付きテキスト | Word, WordPad |
| ISO 32000 | 固定レイアウト | Acrobat 等 | ||
| Markdown | .md | 多数の方言 | プレーンテキスト | 任意のエディタ |
編集・パーサ・ツール
Python で DOCX を扱う定番は python-docx。テンプレートを開いて段落を追加、保存するだけで Word ファイルが生成できる。
from docx import Document
from docx.shared import Pt
doc = Document('template.docx')
doc.add_heading('月次レポート 2026-06', level=1)
p = doc.add_paragraph('売上は前月比 ')
run = p.add_run('+12.4%')
run.bold = True
run.font.size = Pt(14)
p.add_run(' でした。')
# テーブル
table = doc.add_table(rows=2, cols=2)
table.cell(0, 0).text = '項目'
table.cell(0, 1).text = '金額'
table.cell(1, 0).text = '売上'
table.cell(1, 1).text = '12,400,000 円'
doc.save('report-2026-06.docx')
pandoc を使えば DOCX を Markdown / HTML / PDF などへ相互変換できる。
# DOCX -> Markdown
pandoc report.docx -o report.md
# Markdown -> DOCX (テンプレ適用)
pandoc article.md --reference-doc=template.docx -o article.docx
# DOCX -> PDF (要 LaTeX or wkhtmltopdf)
pandoc report.docx -o report.pdf
注意点・落とし穴
- .doc と .docx は別物 — 旧 .doc (バイナリ) は Word 2003 以前の既定。同じ「Word ファイル」と呼ばれるが内部構造は完全に異なる
- マクロ (.docm) — VBA マクロを含む場合は .docm として保存される。標的型攻撃で頻繁に悪用されるため、信頼できない .docm は開かない
- 互換性モード — 古いバージョンで作成された .docx を新しい Word で開くと「互換性モード」で開かれることがあり、新機能が制限される
- フォント埋め込み — 既定では埋め込まれないため、特殊フォント使用時は別 PC で表示崩れが起こる
- 外部リンク・画像 — リモート参照を含むテンプレートは情報漏洩や追跡 (Web Beacon) のリスクがある
- XML 仕様の差異 — Strict OOXML と Transitional OOXML の 2 系統があり、互換性が完全ではないケースがある
関連リンク
- テキスト・ドキュメント形式
- ファイル拡張子とは
- XLSX(.xlsx)
- PPTX(.pptx)
- RTF(.rtf)
- ODT / ODS / ODP
- PDF(.pdf)
- アーカイブ・圧縮形式
- XML(.xml)
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?