Home » Python » xlwingsの使い方 » xlwingsで印刷範囲を設定する-PageSetup.print_areaプロパティ

xlwingsで印刷範囲を設定する-PageSetup.print_areaプロパティ

動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.29.1 + 64bit Excel(バージョン2304 ビルド16327.20134)

「python excel 印刷範囲設定」
といった検索でアクセスがありました。

どのライブラリ(パッケージ)を使って設定したかったのかは不明ですが、この記事ではExcelを操作するパッケージ「xlwings」を使って、Excelの印刷範囲を設定するサンプルをご紹介します。

[スポンサードリンク]

xlwingsで印刷範囲を設定するサンプル

以下のスクリプトを実行すると、新規にブックが作成されてアクティブシートのA1:J10セルにセル番地が入力され、印刷範囲がB2:G7セルに設定されます。

import xlwings as xw

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'

印刷範囲を設定しているのは最後の行

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
    def print_area(self):
        value = self.xl.PrintArea
        return None if value == "" else value

    @print_area.setter
    def print_area(self, value):
        self.xl.PrintArea = value

apiプロパティと、本記事でご紹介したprint_areaプロパティだけが用意されています。

最終更新日時:2023-05-16 18:13

[スポンサードリンク]

Home » Python » xlwingsの使い方 » xlwingsで印刷範囲を設定する-PageSetup.print_areaプロパティ

「xlwingsの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.