「openpyxl シート 非表示」
といった検索キーワードで、アクセスがありました。
OpenPyXLで、シートを非表示にするには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。
OpenPyXLでシートの表示状態を確認する
結論。Worksheet.sheet_state属性で、シートの表示状態を取得できます。
以下のスクリプトを実行すると、C:\temp\sample.xlsxに含まれるシートの名前と表示状態が出力されます。
bk = xl.load_workbook(r'C:\temp\sample.xlsx')
for ws in bk.worksheets:print(ws.title, ws.sheet_state)
Sheet1・Sheet2・Sheet3といった名前のシートが3枚存在し、表示されているときには、
Sheet1 visible
Sheet2 visible
Sheet3 visible
と出力されます。
OpenPyXLでシートを非表示にする
このWorksheet.sheet_state属性で設定も可能です。
以下のスクリプトを実行すると、Cドライブtempフォルダーのsample.xlsxのSheet1シートが非表示になった、sample_new.xlsxを作成できます。
bk = xl.load_workbook(r'C:\temp\sample.xlsx')
bk['Sheet1'].sheet_state = 'hidden'
シート名ではなく数値による指定も可能です。
以下のスクリプトで、Cドライブtempフォルダーのsample.xlsxの先頭シートを非表示にした、sample_new.xlsxを作成できます。
bk = xl.load_workbook(r'C:\temp\sample.xlsx')
bk.worksheets[0].sheet_state = 'hidden'
Worksheet.Visble = xlSheetVeryHiddenに該当する設定
Excel VBAの場合、Worksheet.Visbleプロパティに、XlSheetVisibility列挙に定義されている定数xlSheetVeryHiddenを指定すると、コードからのみ再表示できる非表示設定ができます。
同様の設定が、OpenPyXLでも可能です。
あるいは、
のようにWorksheet.shee_state属性に文字列「veryHidden」を指定してください。
最終更新日時:2023-05-23 08:58
Home » Python » OpenPyXLの使い方 » OpenPyXLでシートを非表示に-Worksheet.sheet_state属性