契約書や送付状をテンプレで自動化
Word操作を自動化するためには、python-docxモジュールを利用するのでコマンドラインでインストールしておく。
pip install python-docx
python-docxの基本的な使い方
# python-docxをつかう宣言文
import docx
# 新規ドキュメント作成
doc = docx.Document()
# 既存ワードファイルの読み込み
doc = docx.Document('ファイル名.docx')
# Wordファイルへの保存
doc.save('ファイル名.docx')
顧客ごとの契約書類など
「契約書template.docx」等のテンプレファイルを用意して「■今日の日時」等変更箇所のルール決めをしておけば顧客ごとのデータが複数の書類に渡って一瞬で作成可能になる。同じ入力を何度もしなくて良いし、誤入力も防げる!
import docx
import datetime
template_file = '契約書template.docx'
save_file = '契約書【会社名】.docx'
now = datetime.datetime.now()
card = {
'■今日の日時': now.strftime('%Y年%m月%d日'),
'■契約会社名': '〇〇株式会社',
'■会社名と名前': '〇〇株式会社 代表取締役 浦島太郎',
'■会社の住所': '福岡県福岡市博多区〇丁目〇〇',
'■契約金': '金150,000円',
'■業務': 'コンサルタント業務請負代金',
'■請求の締め日': '令和4年〇月付け請求書分',
}
doc = docx.Document(template_file)
for p in doc.paragraphs:
for k, v in card.items():
if p.text.find(k) >= 0:
p.text = p.text.replace(k, v)
doc.save(save_file)
書式の設定
上記のプログラム実行では書式が削除されてしまいます。必要な個所は書式設定しておきましょう。
要素 | 説明 | 利用例 |
---|---|---|
font | フォントプロパティアクセス | font = p.runs[0].font |
bold | 太字 | font.bold = True |
italic | 斜体 | font.italic = True |
underline | 下線 | font.underline = True |
size | 文字サイズ | font.sizu = docx.shared.Pt(20) |
color.rgb | 文字色 | font.color.rgb = docx.shared.RGBColor(255,0,0) |