- 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ですが、印刷設定までしておくと手動で設定する手間が省けてすごく楽なのでおすすめです!