解析エンジニアの自動化 blog

コツコツと自動化した方法を残す blog

Python で docx を使って Microsoft Word を操作する



こんにちは。
仕事の自動化にやりがいと達成感を感じるガッくんです。


この記事の目次



背景・目的


Python に仕事をさせて最後に待ち受けているのが報告書の作成です。

自動化している事を悟られない様に Microsoft Word で報告書を書きました。

docx というモジュールの入門みたいな記事です。



動作環境


Windows 7
・winpython 64bit 3.4.4



インストール

pip コマンドからインストールしました。

pip install python-docx



プログラム

ソースコード


import docx
from docx.enum.text import WD_ALIGN_PARAGRAPH

# ワードドキュメント作成
doc = docx.Document()

# 段落に見出し追加
doc.add_heading('報告書', 0)

# 段落に文章追加
doc.add_heading('はじめに', 1)
doc.add_paragraph('はじめに〜')

doc.add_heading('対象', 1)
doc.add_paragraph('対象〜')
p = doc.add_paragraph('図1 対象')
p.alignment = WD_ALIGN_PARAGRAPH.CENTER

doc.add_heading('方法', 1)
doc.add_paragraph('方法〜')

doc.add_heading('結果', 1)
doc.add_paragraph('結果〜')
p = doc.add_paragraph('図2 結果')
p.alignment = WD_ALIGN_PARAGRAPH.CENTER

# ファイル名を指定して保存
doc.save('C:\\Users\\UserName\\Desktop\\test-docx.docx')



結果

デスクトップに "test-docx.docx" というファイルが出来たと思います。

図1 に作成した Word ファイルを示します。

図1 作成した Word ファイル



コメント

Python から Microsoft-Word の操作は簡単です!

目次やヘッダー・フッターなど、 Microsoft-Word で使う機能は言うほど多くないので、もう少し調べれば普段の仕事で行う Microsoft-Word のタスクは自動化出来そうです。

以外と、インターネットに情報が少なくて驚きました。

ソースコードの分割が出来れば Word ファイルを操作する Python 関数を量産したソースコードをひとまとめに出来ます。

ソースコードの分割は下記の記事にサンプルをまとめています。
Python のソースコードを分割する - 解析エンジニアの自動化 blog



以上