「python excel 印刷範囲設定」
といった検索でアクセスがありました。
どのライブラリ(パッケージ)を使って設定したかったのかは不明ですが、この記事ではExcelを操作するパッケージ「xlwings」を使って、Excelの印刷範囲を設定するサンプルをご紹介します。
xlwingsで印刷範囲を設定するサンプル
以下のスクリプトを実行すると、新規にブックが作成されてアクティブシートのA1:J10セルにセル番地が入力され、印刷範囲がB2:G7セルに設定されます。
bk = xw.Book()
sht = bk.sheets.active
for r in range(1, 11):
for c in range(1, 11):
rng = sht.cells(r, c)
rng.value = rng.get_address(False, False)
印刷範囲を設定しているのは最後の行
sht.page_setup.print_area = 'B2:G7'
です。
Sheetオブジェクトのpage_setupプロパティでPageSetupオブジェクトを取得して、PageSetupオブジェクトのprint_areaプロパティにセル範囲を示す文字列を指定すれば、印刷範囲を設定できます。
印刷範囲を解除するにはNoneを代入
先のスクリプトにつづけて、
sht.page_setup.print_area = None
を実行すれば、印刷範囲が解除されます。
PageSetup.print_areaプロパティにNoneを指定すれば印刷範囲が解除されます。
PageSetupにはapiとprint_areaのみ
現時点でPageSetupクラスは、_xlwindows.pyモジュールで以下のように定義されています。
class PageSetup:
def __init__(self, xl):
self.xl = xl@property
def api(self):
return self.xl@property
@print_area.setter
def print_area(self):
value = self.xl.PrintArea
return None if value == "" else value
def print_area(self, value):
self.xl.PrintArea = value
apiプロパティと、本記事でご紹介したprint_areaプロパティだけが用意されています。
最終更新日時:2023-05-16 18:13
Home » Python » xlwingsの使い方 » xlwingsで印刷範囲を設定する-PageSetup.print_areaプロパティ