【Word自動化】ヘッダー込みのWord生成プログラム【Python】
背景
日報を出すとに、Wordファイルを何回も作るのが面倒だった。 定型的な業務の日報の作成を自分でやりたくなくなった。 なので、今流行しているPythonを使って、自動化プログラムを作成した。
目的
Pythonファイルを実行するだけで、簡単に報告書のレイアウトを生成するのが目的
要件定義
- Wordファイルの生成
- 今日の日付を入れる
- ヘッダーを使えるようにする
- タイトルの色を黒にする
原案
思いついた走り書きを言語化して、作成しました
環境
Windows10Pro
Python3.7
Anaconda
環境構築方法
Anaconda Promptを起動します。
Prompt内に下記のコードを記述します。
pip install python-docx
実際に書いたコード
from docx import Document from docx.enum.text import WD_TAB_ALIGNMENT, WD_COLOR_INDEX from docx.shared import Pt import datetime now_time = datetime.datetime.now() filename = now_time.strftime('%Y_%m%d' + '.docx') TodayDate = now_time.strftime('%Y/%m/%d') FilePath = r'C:\Users\デスクトップ\/' doc = Document() header_section = doc.sections[0].header # 標準の文字の大きさ指定 style = doc.styles['Normal'] font = style.font font.size = Pt(10.5) # font=doc.styles['Nomal'].font # シンプルな方 ToDate = header_section.paragraphs[0] ToDate.text = str(TodayDate) + '\n' + '名前' ToDate.alignment = WD_TAB_ALIGNMENT.RIGHT # 段落に見出し追加 doc.add_heading('日報', 0).alignment = WD_TAB_ALIGNMENT.CENTER # 段落に文章追加 doc.add_heading('目的', 2) paragraph = doc.add_paragraph('') doc.add_paragraph('') doc.add_paragraph('') doc.add_heading('本日の成果', 2) doc.add_paragraph('') doc.add_paragraph('') doc.add_paragraph('') doc.add_heading('課題', 2) doc.add_paragraph('') doc.add_paragraph('') doc.add_paragraph('') doc.styles["Title"].font.color.theme_color = WD_COLOR_INDEX.BLACK doc.styles["Heading 2"].font.color.theme_color = WD_COLOR_INDEX.BLACK paragraph.style = doc.styles['Normal'] doc.save(FilePath + filename)
実行結果
コードを実行するとこのような結果になります!
感想
思ったよりも簡単にできたが、自分の詰めが甘く、4時間くらいかかって、作った。 ドキュメントをちゃんと読むようにするぞ!!
参考文献
Python で docx を使って Microsoft Word を操作する