Home » Python » OpenPyXLの使い方 » OpenPyXLでウィンドウ枠を固定する-Worksheet.freeze_panes属性

OpenPyXLでウィンドウ枠を固定する-Worksheet.freeze_panes属性

動作検証バージョン:Windows 10 + Python 3.7.3 + OpenPyXL 2.6.2

「openpyxl ウィンドウ枠の固定」
という検索キーワードで、アクセスがあることに気が付きました。

[スポンサードリンク]

Worksheet.freeze_panesでウィンドウ枠の固定・解除ができる

Cドライブtempフォルダーにfoo.xlsxファイルを用意して、以下のスクリプトを実行すると、1行目1列目が固定され、foo2.xlsxとして保存されます。

import openpyxl

wb = openpyxl.load_workbook(r'C:\temp\foo.xlsx')

ws = wb.worksheets[0]
ws.freeze_panes = 'B2'

wb.save(r'C:\temp\foo2.xlsx')

Worksheetオブジェクトのfreeze_panes属性で、ウィンドウ枠を固定できます。

もちろん
  ws.freeze_panes = 'C3'
とすれば、2行目2列目が固定されます。

行のみ・列のみ固定したい場合

1行目だけを固定したい場合は
  ws.freeze_panes = 'A2'
1列目だけを固定したい場合は、
  ws.freeze_panes = 'B1'
としてください。

ウィンドウ枠の固定を解除したい場合

ウィンドウ枠の固定を解除したい場合は、
  ws.freeze_panes = 'A1'
です。

Excel VBAの場合はWindowオブジェクト

わかってしまえば特に難しくはないはずですが、Excel VBAをよくご存じの方は「あれ?」と思うかもしれません。

Excel VBAでウィンドウ枠の固定に関わるプロパティはWindowオブジェクトであって、Worksheetオブジェクトではありません。

OpenPyXLの仕様を知ると、Excel VBAでもWorksheetオブジェクトにFreezePanesプロパティが用意されていても良かったのに、という気がしてきます。

最終更新日時:2023-01-12 16:30

[スポンサードリンク]

Home » Python » OpenPyXLの使い方 » OpenPyXLでウィンドウ枠を固定する-Worksheet.freeze_panes属性

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

検索


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

.