[Excel]Pythonで縦・横向き&余白の印刷設定をする方法

  • Excelで書類作成するときに「印刷設定」で縦・横向きを選んでいる
  • Excelファイルで毎回手動で余白を調整している

このブログでは、以上のような設定を、Pythonで自動化する方法を解説します。

使用するのはopenpyxlというライブラリ。

openpyxlでExcelの印刷設定をする方法

Excelのワークブックを保存する前に印刷設定を追加するだけ。

一番シンプルに、Excelファイルを読込んで、印刷設定して保存するだけのコードを作成しました。

Excelファイルは横に長い”旅行日程_ヨコ.xlsx”と、縦に長い”旅行日程_タテ.xlsx”の2種類私が作成したものです。

余白の数字はお好みで変えてください。

横向きに印刷する場合

#印刷設定
#ワークシート名は各自の設定に変更
import openpyxl
wb=openpyxl.load_workbook("旅行日程_ヨコ.xlsx")
ws=wb["Sheet1"]

ws.page_margins.top=0.4 #上の余白
ws.page_margins.bottom=0.4#下の余白
ws.print_options.horizontalCentered=True#水平に中央揃え
ws.page_setup.orientation="landscape"#横向き

wb.save("旅行日程_ヨコ.xlsx")

実行すると横向き、水平に中央揃えになります。

縦向きに印刷する場合

#印刷設定
#ワークシート名は各自の設定に変更
import openpyxl
wb=openpyxl.load_workbook("旅行日程_タテ.xlsx")
ws=wb["Sheet1"]

ws.page_margins.top=0.4#上の余白
ws.page_margins.bottom=0.4#下の余白
ws.page_setup.orientation="portrait"#縦向き

wb.save("旅行日程_タテ.xlsx")

実行すると縦向きで余白も希望通りになりました。

PythonでExcelを扱うときにはほぼ毎回使用するopenpyxlですが、印刷設定までしておくと手動で設定する手間が省けてすごく楽なのでおすすめです!

ABOUT US
中野友梨
旅行業の会社を運営。
慶応義塾大学卒

書類作成、確認作業などに追われる日々の仕事。
一生懸命やっているつもりだった。
計算ミス、手配ミスにヒヤヒヤする日々。
仕事の効率をなんとかしなけらばいけないと思っていたけど、 どうしたらよいのか分からなかった。
Pythonの世界なんて、全く知らなかった。
そんな私がPythonで仕事が効率化されることによって、公私ともに大きく 変わるとは、夢にも思っていなかった..。

業務効率化のためにPythonを始めたことがきっかけで、Pythonにはまりました。(個人利用レベル)
詳細はこちら

労働時間が大きく削減され、仕事が大カイゼンされて自由な時間も生まれました。
私のした素晴らしい経験を共有したい、仕事の効率が悪いけど、どうにかしたいという悩みを持った人々に向けて、 Pythonがいいよ、と教えてあげたい。
このブログでは、私が経験したエラー解決や迷い所、Pythonの活用方法をお伝えします。